You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
is improperly rejected. The same happens for function* and async function*, but not a plain function(){}, and not if the var x is at the top level of the program or function rather than nested inside of a block or loop header.
This also applies inside functions, as in
functionouter(){asyncfunctionx(){}{varx;}}
Note that this would be the correct behavior at a higher level of nesting. It's only at the top level of programs and functions where function declarations are treated like var declarations for the purposes of determining conflicts.
The relevant part of the spec is TopLevelLexicallyDeclaredNames, which has a special case for HoistableDeclaration, which includes all four kinds of function declaration, not just non-async non-generator functions.
The text was updated successfully, but these errors were encountered:
Another bug from fuzzing:
is improperly rejected. The same happens for
function*
andasync function*
, but not a plainfunction(){}
, and not if thevar x
is at the top level of the program or function rather than nested inside of a block or loop header.This also applies inside functions, as in
Note that this would be the correct behavior at a higher level of nesting. It's only at the top level of programs and functions where function declarations are treated like
var
declarations for the purposes of determining conflicts.The relevant part of the spec is TopLevelLexicallyDeclaredNames, which has a special case for HoistableDeclaration, which includes all four kinds of function declaration, not just non-async non-generator functions.
The text was updated successfully, but these errors were encountered: