The following two tests should yield the same result. Either both must pass or both must fail.
early/0f5f47108da5c34e.js: try {} catch(a) { for(var a of 1); }
pass/60dcd48a3f6af44f.js: try {} catch(a) { var a = 1; }
According to specification in Annex B.3.5 (https://tc39.es/ecma262/#sec-variablestatements-in-catch-blocks):
It is a Syntax Error if any element of the BoundNames of CatchParameter also occurs in the VarDeclaredNames of Block unless CatchParameter is CatchParameter: BindingIdentifier.
Per this annex both tests must pass.
The following two tests should yield the same result. Either both must pass or both must fail.
early/0f5f47108da5c34e.js: try {} catch(a) { for(var a of 1); }
pass/60dcd48a3f6af44f.js: try {} catch(a) { var a = 1; }
According to specification in Annex B.3.5 (https://tc39.es/ecma262/#sec-variablestatements-in-catch-blocks):
It is a Syntax Error if any element of the BoundNames of CatchParameter also occurs in the VarDeclaredNames of Block unless CatchParameter is CatchParameter: BindingIdentifier.
Per this annex both tests must pass.