DIP69 - Implement scope for escape proof references

Steven Schveighoffer via Digitalmars-d digitalmars-d at puremagic.com
Thu Dec 4 07:04:25 PST 2014


On 12/4/14 4:24 AM, Walter Bright wrote:
> http://wiki.dlang.org/DIP69
>
> Despite its length, this is a fairly simple proposal. It adds the
> missing semantics for the 'scope' storage class in order to make it
> possible to pass a reference to a function without it being possible for
> it to escape.
>
> This, among other things, makes a ref counting type practical. It also
> makes it more practical to use other storage allocation schemes than
> garbage collection.
>
> It does not make scope into a type constructor, nor a general
> type-annotation system.
>
> It does not provide an ownership system, though it would complement one.

"Scope affects:

     local variables allocated on the stack"

...

"scope int i;       // scope is ignored because integers are not 
references and so are not views"

I think I understand what you are trying to say -- the (big S) Scope of 
a local variable cannot escape, but it serves no purpose to declare a 
local int as (keyword) scope, since it's not going to be assigned any 
references.

But it reads contradictory.

-Steve


More information about the Digitalmars-d mailing list