Test262 test | Babel Playground | OXC Playground
// This file was procedurally generated from the following sources:
// - src/declarations/function.case
// - src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-var-declaration.template
/*---
description: redeclaration with FunctionDeclaration (VariableDeclaration in BlockStatement)
esid: sec-block-static-semantics-early-errors
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Block : { StatementList }
It is a Syntax Error if any element of the LexicallyDeclaredNames of
StatementList also occurs in the VarDeclaredNames of StatementList.
---*/
$DONOTEVALUATE();
{ var f; function f() {} }
Expect
Both should throw a syntax error in non-strict mode and strict mode
Actual
Non-strict mode has no error, and strict mode has a syntax error