DIP60: @nogc attribute
Dicebot via Digitalmars-d
digitalmars-d at puremagic.com
Sat Apr 19 06:14:42 PDT 2014
On Thursday, 17 April 2014 at 22:04:17 UTC, Walter Bright wrote:
> On 4/17/2014 1:03 PM, John Colvin wrote:
>> E.g. you can implement some complicated function foo that
>> writes to a
>> user-provided output range and guarantee that all GC usage is
>> in the control of
>> the caller and his output range.
>
> As mentioned elsewhere here, it's easy enough to do a unit test
> for this.
Erm, no? You can possibly track GC calls by using custom druntime
fork but you can't track origins of such calls in source tree
without compiler help.
I hope Don's DConf talk will convince you how useful enforcing
such model is ;)
>> The advantage of having this as language instead of
>> documentation is the
>> turtles-all-the-way-down principle: if some function deep
>> inside the call chain
>> under foo decides to use a GC buffer then it's a
>> compile-time-error.
>
> And that's how @nogc works.
And it is not good enough for practical reasons, i.e. we won't be
able to use @nogc for most of the Phobos.
More information about the Digitalmars-d
mailing list