just like mentioned in andrei's interview (http://www.informit.com/articles/article.aspx?p=1622265) i hope to see an dmd command line argument for disabling and disallowing the use of the GC in DMD: "Walter Bright is considering adding a compile-time flag that would banish all constructs that make implicit use of the GC, in which case you'll know at compile time where the culprits are, and you can change your code accordingly"
LDC have even better options, you can forbid any calls to the runtime, which might be very useful for embedded systems or others usages when you only want a "better C" for real low-level stuff.
There's a pull request for this being worked on and discussed: https://github.com/D-Programming-Language/dmd/pull/1886
We now have both the -vgc switch, and the @nogc attribute. So I think this issue should be closed.
There is also -beterC switch that disallows use of any of DRuntime features and rewries some of common ones to libc-based implementation.
One can also decorate class instances with `scope` which allocates them on the stack instead of the GC. One can also use `@disable new()` to prevent creating new instances of a type, and instead delegate allocation and construction to factory methods.
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18292 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB