On Wednesday, 20 April 2016 at 13:41:27 UTC, Nordlöw wrote:
At
https://github.com/nordlow/phobos-next/blob/master/src/variant_pointer.d
I've implemented a pointer-only version of Variant called
VariantPointer.
[...]
It safe to assume that `typeBits` most significant bits of a
pointer on a 64-bit system are always zero?
Note that I didn't want to use the lower bits because I'm
currently unsure whether I need to represent stack-pointers
aswell.
I'm very sure that there is no obligation for the OS to not issue
a stack of memory starting at addresses near the limit of a
64-bit system. Thus, you can't count on it 100% of the time,
though it is so rare as far as I know, that a simple enforce()
for checking that the upper bits are clear should be acceptable.
Though, it may perhaps be unusable in a few decades time, if you
still care then.
I can't answer your second question.