On Thursday, 30 November 2017 at 19:01:02 UTC, Andrei Alexandrescu wrote:
Currently, allocators traffic in void[]. When I first designed allocators, I considered using ubyte[] instead.

I experimented with using byte[] for opaque buffers, because byte is signed, one can't parse byte[] content in a meaningful way, and should cast to ubyte[] first, so byte[] is practically opaque (if you're careful).

However, using void[] makes it difficult to express the fact that allocate() is a safe function for virtual all allocators.

Safe code should only use typed allocation (make) and never see underlying implementation.

Reply via email to