Kevin Smith (2013-11-30T01:21:24.000Z)
>
>
>>     x => { "use strict"; with (x) {} } // Not a strict-mode error
>>
>
> Spec bug if so -- that should make the arrow function so stated have
> strict code.
>
>
That would probably be the expectation, and I'm possibly just missing
something in the spec.  It does add an extra degree of complexity, though.
 Consider this edge case:

    (x = function z(x) { delete x }) => { "use strict" }

When we parse the invalid unary expression in function 'z', we don't even
know that we're in a "maybe strict" context yet.  It's only after we see
the "=>" that we know.  It's still doable without an AST walk though, I
think.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131129/c1608ef7/attachment.html>
domenic at domenicdenicola.com (2013-12-10T01:27:06.838Z)
That would probably be the expectation, and I'm possibly just missing
something in the spec.  It does add an extra degree of complexity, though.
 Consider this edge case:

    (x = function z(x) { delete x }) => { "use strict" }

When we parse the invalid unary expression in function 'z', we don't even
know that we're in a "maybe strict" context yet.  It's only after we see
the "=>" that we know.  It's still doable without an AST walk though, I think.