On Tuesday, 26 July 2016 at 01:07:27 UTC, Chris Wright wrote:
@nogc conflates "doesn't allocate memory from the GC heap
because I don't want my application to use the GC at all" with
"doesn't cause GC collection pauses".
The latter can have a @assumenogc annotation that works -- you
call GC.disable and GC.enable as appropriate. The former can't.
For whatever reason, I like the idea of annotations behaving like
enums. So instead of @gc or @assumenogc, you could have something
like @nogc.false or @nogc.assume. You wouldn't add new
annotations, just new behavior for existing annotations.