On Friday, 25 June 2021 at 20:22:24 UTC, Ola Fosheim Grøstad
wrote:
Hm. Not sure if I follow, I think we are talking about stuffing
bits into the counter and not the address?
Then I misunderstood. If it's a counter it should be fine.
But fat pointers are 16 bytes, so quite expensive.
Yes, that's a tradeoff but one I'm willing to take. I'm thinking
even bigger managed pointers of perhaps 32 bytes which has more
metadata like the allocated size. Managed languages in general
have fat pointers which we see everywhere and it is not a big
deal.
If you are littering pointers you perhaps should refactor your
code, use an array if loads of objects of the same type. Another
thing which I'm not that satisfied with D is that there is no
built in method of expanding member classes into the host class
like C++ which creates pointer littering and memory fragmentation.