The next iteration of scope

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Thu Mar 19 00:57:08 PDT 2015


On Wednesday, 18 March 2015 at 13:01:50 UTC, Oren Tirosh wrote:
> The scope storage class is a two way contract. The function 
> promises not to escape the reference. The caller promises to 
> ensure the storage that the reference is pointing to will 
> remain valid for the duration of the function call. In some 
> cases, the caller code may need to take active steps to ensure 
> that, like keeping an otherwise temporary reference alive to 
> prevent it from being deallocated.
>
> But what if the pointer is null? Can this be considered to 
> fulfill the caller's part of the deal?
>
> Yes, the old @notnull debate again. For me, @safe by default 
> and scope by default also suggests @notnull by default for 
> scope references. Sorry if this opens up directions you don't 
> want to think about at the moment...

Don't be sorry, I agree with you 100%, and you stated it more 
clearly than i could have.


More information about the Digitalmars-d mailing list