On Aug 24, 2011, at 2:01 AM, Andreas Rossberg wrote:

> On 23 August 2011 19:14, Allen Wirfs-Brock <al...@wirfs-brock.com> wrote:
>> 
> 
> Oh, but that description does not cover Dave's exact example, which actually 
> was
> 
> { { let x; { var x } } }
> 
> Here, the var is hoisted across the let's scope, but doesn't end up in
> the same scope. And we clearly want to rule that out, too. But then,
> you also want to properly distinguish this case from, say

This is essentially the same as the hosting a var out of a catch clause where 
the var and catch parameter have the same name.

I tried to get that defined as an error for ES5 and it didn't fly because of 
backwards compat. concerns. I suspect we would come to the same conclusion this 
time.

But, there is nothing stoping an implementation from issuing a warning for such 
occurrences.  It might even be a good idea. We might be able to even get 
agreement to include in the spec. a non-normative recommendation to that regard 
similarly to what ES5 has regarding function declarations within blocks.


Allen
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to