DIP60: @nogc attribute

Peter Alexander via Digitalmars-d digitalmars-d at puremagic.com
Wed Apr 16 12:44:18 PDT 2014


On Tuesday, 15 April 2014 at 17:01:38 UTC, Walter Bright wrote:
> http://wiki.dlang.org/DIP60
>
> Start on implementation:
>
> https://github.com/D-Programming-Language/dmd/pull/3455

Some initial thoughts:

* Is it perhaps too early to introduce this? We don't have 
allocators yet, so it can be quite hard to avoid the GC in some 
situations.

* Many Phobos functions use 'text' and 'format' in asserts. What 
should be done about those?

* Does @nogc => nothrow? If I'm not mistaken, throw must through 
a GC-allocated Throwable.

* If the above is true, does that mean exceptions cannot be used 
at all in @nogc code?

* I worry about the number of attributes being added. Where do we 
draw the line? Are we going to add every attribute that someone 
finds a use for? @logicalconst @nonrecursive @nonreentrant 
@guaranteedtermination @neverreturns


More information about the Digitalmars-d mailing list