Delegate is left with a destroyed stack object
deadalnix
deadalnix at gmail.com
Wed Oct 30 10:15:07 PDT 2013
On Wednesday, 30 October 2013 at 12:28:13 UTC, Max Samukha wrote:
> On Wednesday, 30 October 2013 at 12:17:29 UTC, Max Samukha
> wrote:
>
>> So D managed to mess up closures, too. And that's after years
>> of countless complaints about the same issue in JS!
>
> And please no misguided arguments like
> http://blogs.msdn.com/b/ericlippert/archive/2009/11/12/closing-over-the-loop-variable-considered-harmful.aspx.
Quoting : "UPDATE: We are taking the breaking change. In C# 5,
the loop variable of a foreach will be logically inside the loop,
and therefore closures will close over a fresh copy of the
variable each time. The "for" loop will not be changed. We return
you now to our original article."
Javascript is introducing the let keyword to create properly
scoped variables. It seems everybody agrees on what should have
been done.
More information about the Digitalmars-d
mailing list