On Mon, 15 Nov 2010 13:36:42 -0500, Jonathan M Davis <jmdavisp...@gmx.com>
wrote:
On Monday, November 15, 2010 07:28:33 Steven Schveighoffer wrote:
On Fri, 12 Nov 2010 20:33:37 -0500, Jonathan M Davis
<jmdavisp...@gmx.com>
wrote:
> On Friday, November 12, 2010 17:25:31 bearophile wrote:
>> Jonathan M Davis:
>> > I'm not quite sure how that will work with scope going away though.
>>
>> This scope will not go away.
>
> What's the difference between this scope and using scope on a local
> variable?
All that is going away is scope classes. All other uses of scope are
staying.
And even then, I think a scope class will still be supported, it just
won't allocate on the stack (it will probably be a noop like it is for
other variable types).
scope means different things in different places. Currently, in a
parameter it means that references in the parameter cannot be escaped
(i.e. assigned to a global variable). When the compiler sees this on
delegates, it will avoid allocating a closure when taking the address
of a
local function. This is essential in opApply loops.
And you know about the scope for classes. AFAIK, those are really the
only two behavior-altering uses. Other than that, I think it's a noop.
Thanks. I knew about scope classes and scope statements (e.g.
scope(failure)
...), but I didn't know that scope on a parameter was different from
scope
classes. scope is definitely an over-used keyword IMHO.
Forgot completely about scope(failure|success|exit)...
-Steve