If you had money to place for a bounty, what would you choose?
Nick
nmsmith65 at gmail.com
Sat Nov 30 02:50:46 PST 2013
On Saturday, 30 November 2013 at 09:28:54 UTC, Namespace wrote:
> DIP46 can help:
> http://wiki.dlang.org/DIP46
>
> Quote:
> A further observation is that class GC has virtual functions in
> it. This opens up the possibility of doing a gc_push() with a
> different GC. Two possibilities come to mind:
> 1. Allocate-but-never-free, like DMD does. This would be very
> fast.
> 2. Assert-on-any-allocation, used for code that wants to be
> "nogc". This avoids the complexity of adding a "nogc" attribute
> to D. More discussion of "nogc":
> https://github.com/D-Programming-Language/druntime/pull/493
While having the ability to create 'tossable' regions of
garbage-collected memory would be fantastic (I would really love
to see that implemented), it does not completely solve the
problem that @nogc (and @noheap) tries to solve. The point of
@nogc is to have the compiler check for you that you didn't
accidentally make allocations. It works on the presumption that
you were trying to write allocation-free code. The
assert-on-allocation idea from DIP46 won't achieve this either,
as it leaves it to chance whether or not the execution of your
code will reach an allocating call. There's no guarantee there.
More information about the Digitalmars-d
mailing list