On Tuesday, 30 August 2016 at 08:18:47 UTC, Johannes Pfau wrote:

There are some nice use cases for this:
* Do not enforce @nogc for CTFE only functions, so you can mark a
  complete module nogc: and CTFE only functions will get ignored
* Do not emit code for CTFE only functions. This is useful for bare metal programming: The CTFE only function can depend on druntime
  functions not available in the bare metal runtime.

These are common problems when using string mixins: The functions to generate the mixed in code use string manipulation which is usually not @nogc and might require runtime functions. But the code generation
function is exclusively used in CTFE.

I do not see how this could affect @nogc.
But yes you can circumvent the code-generation and pulling in the druntime dependency using a static if.

Reply via email to