On Thursday, 27 April 2017 at 23:12:48 UTC, Moritz Maxeiner wrote:
On Thursday, 27 April 2017 at 20:04:32 UTC, Stanislav Blinov wrote:
On Thursday, 27 April 2017 at 19:57:52 UTC, Andrei Alexandrescu wrote:
https://github.com/dlang/phobos/pull/5355

Andrei

And then we'd probably need INoGCAllocator and ISharedNOGCAllocator...

Wasn't one major selling point of compile time introspection / duck typing that we could stop using interfaces such... naming schemes?

IAllocator is too high level an interface, it doesn't carry any information as to what type of memory it can allocate (so we can only assume unshared), and does or does it not use GC (so we can only assume GC).

If we are to devise types with allocators as members instead of type arguments, we need the additional information. Better to catch invalid assignment at compile time than to chase down how a stack allocator from one thread ended up in another.

Reply via email to