[Webkit-unassigned] [Bug 212886] Redeclaration of a function* inside a block definition

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 8 09:25:05 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=212886

rwaldron <rick at bocoup.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rick at bocoup.com

--- Comment #2 from rwaldron <rick at bocoup.com> ---
This bug affects every combination with a lexical declaration in a block, in non-strict mode code (strict mode code is correct). 


{ async function f() {} async function f() {} }

{ async function f() {} async function* f() {} }

{ async function* f() {} async function f() {} }

{ async function* f() {} async function* f() {} }

{ async function f() {} class f {} }

{ async function* f() {} class f {} }

{ async function f() {} const f = 0 }

{ async function* f() {} const f = 0 }

{ async function f() {} function f() {} }

{ async function* f() {} function f() {} }

{ async function f() {} function* f() {} }

{ async function* f() {} function* f() {} }

{ async function f() {} let f }

{ async function* f() {} let f }

{ async function f() {} var f }

{ async function* f() {} var f }

{ class f {} async function f() {} }

{ class f {} async function* f() {} }

{ class f {} function f() {} }

{ class f {} function* f() {} }

{ const f = 0; async function f() {} }

{ const f = 0; async function* f() {} }

{ const f = 0; function f() {} }

{ const f = 0; function* f() {} }

{ function f() {} async function f() {} }

{ function f() {} async function* f() {} }

{ function f() {} class f {} }

{ function f() {} const f = 0 }

{ function f() {} function* f() {} }

{ function f() {} let f }

{ function f() {} var f }

{ function* f() {} async function f() {} }

{ function* f() {} async function* f() {} }

{ function* f() {} class f {} }

{ function* f() {} const f = 0 }

{ function* f() {} function f() {} }

{ function* f() {} function* f() {} }

{ function* f() {} let f }

{ function* f() {} var f }

{ async function f() {}; { var f; } }

{ async function* f() {}; { var f; } }

{ function f() {} { var f; } }

{ function* f() {}; { var f; } }

{ let f; async function f() {} }

{ let f; async function* f() {} }

{ let f; function f() {} }

{ let f; function* f() {} }

{ var f; async function f() {} }

{ var f; async function* f() {} }

{ var f; function f() {} }

{ var f; function* f() {} }

{ async function f() {}; var f; }

{ async function* f() {}; var f; }

{ function f() {}; var f; }

{ function* f() {}; var f; }




These fail in both strict mode code and non-strict mode code: 


{ { var f; } async function f() {}; }

{ { var f; } async function* f() {}; }

{ { var f; } function f() {} }

{ { var f; } function* f() {}; }

{ var f; async function f() {} }

{ var f; async function* f() {} }

{ var f; function f() {} }

{ var f; function* f() {} }



In all cases show here, a SyntaxError exception should be thrown at parse time.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200908/3c06bec3/attachment.htm>


More information about the webkit-unassigned mailing list