D's policy on hidden memory allocations and nothrow @nogc

Per Nordlöw per.nordlow at gmail.com
Wed Sep 5 20:53:41 UTC 2018


After having read up on Zig's [1] policy for memory management, 
basically meaning no syntactically hidden memory allocations, I 
wonder if D has something similar.

Is the praxis that _all_ containers and GC-allocations should 
throw a

     core.exception.OutOfMemoryError

upon out of memory error?

If so should all algorithms that potentially allocates memory be 
non-`nothrow`, and in turn, non-`@nogc`?

And how does this relate to instead using `assert`s and DIP-1008?

[1]: https://ziglang.org/


More information about the Digitalmars-d mailing list