On Sunday, 15 July 2018 at 13:06:16 UTC, John Colvin wrote:
Currently the API's don't support const(void)[], e.g.
import std.experimental.allocator : makeArray, theAllocator,
dispose;
import std.experimental.allocator.mallocator : Mallocator;
void main()
{
const a = theAllocator.makeArray!ubyte(100);
theAllocator.dispose(a);
// can't call RCIAllocator.deallocate(void[] b) with
const(ubyte)[]
const(void)[] b = Mallocator.instance.allocate(100);
Mallocator.instance.deallocate(b);
// can't call Mallocator.deallocate(void[] b) with
const(void)[]
}
Is this deliberate? It's pretty annoying.
Probably not, the lifetime of the referenced memory is over.
There's a couple of other places where we cast away const and
shared before destroying and object.