On Tuesday, 29 May 2012 at 06:30:37 UTC, Dmitry Olshansky wrote:
You surely haven't looked at the source code did you? :)
It's conceptualy non per bit '-', it's a set difference...

I recall looking at it, but to me that just didn't make sense. I could add subtract back and update it (Not many changes needed to keep it).

Not at all. Once you established that it's not a pointer namely since every pointer to size_t is word aligned (unless constructed by hand).

You could use it's lowest bit as marker then. It's 0 state won't disturb pointer usual semantics, when it's set to 1 it's obviously.

I considered that, but then you actually limit your address space to 2^63, true that seems silly up until in the future when we use all 64bits for memory referencing and suddenly it's seg faulting for no understandable reason (Yes it's a long ways off, but this will long be forgotten about by that time). However referring to the internal offsets it only effects slices; and those are easy to fix.

This will likely take a little time to think over and get working, I'd hate to have to make alternate versions of everything.

I don't see BitArray as a good replacement for the C flags. However I already made (and suggested) a flags struct that accepts and uses enums for it's flags.

Cool. Eager to see that on the way to Phobos too.

 We'll see, once I sorta figure this all out.

Reply via email to