Life in the Fast Lane (@nogc blog post)
    Dukc via Digitalmars-d-announce 
    digitalmars-d-announce at puremagic.com
       
    Tue Jun 20 08:24:06 PDT 2017
    
    
  
On Tuesday, 20 June 2017 at 09:56:03 UTC, Bastiaan Veelo wrote:
> Transferring this to GC, you could have @gc (the default), 
> @nogc (the @safe equivalent) and the @trusted equivalent: 
> @gc_code_that_is_acceptable_to_be_called_in_nogc_code_as_an_exception_to_the_rule. I'll abbreviate this as @gc78 until there is a better name.
It can already be done:
void gc78writeln(string what) @nogc
{   import std.stdio;
     alias WritelnType = void function(string) @nogc;
     (cast(WritelnType)&writeln!string)(what);
}
void main() @nogc
{   import std.stdio;
     gc78writeln("hello world!");
}
I wasn't skilled enough to make a generic version of this trough. 
And I do not know what happens if @nogc function ends up calling 
gc.
    
    
More information about the Digitalmars-d-announce
mailing list