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