| block-scope-syntax-using-declarations-mixed-with-without-initializer.js |
---
esid: sec-let-and-const-declarations-static-semantics-early-errors
description: >
using declarations mixed: with, without initializer
info: |
Static Semantics : Early Errors
LexicalBinding : BindingIdentifier Initializer?
- It is a Syntax Error if Initializer is not present and IsConstantDeclaration of the LexicalDeclaration containing
this LexicalBinding is true.
Static Semantics : IsConstantDeclaration
UsingDeclaration :
`using` BindingList ;
1. Return true.
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
1092 |
| block-scope-syntax-using-declarations-mixed-without-with-initializer.js |
---
esid: sec-let-and-const-declarations-static-semantics-early-errors
description: >
using declarations mixed: without, with initializer
info: |
Static Semantics : Early Errors
LexicalBinding : BindingIdentifier Initializer?
- It is a Syntax Error if Initializer is not present and IsConstantDeclaration of the LexicalDeclaration containing
this LexicalBinding is true.
Static Semantics : IsConstantDeclaration
UsingDeclaration :
`using` BindingList ;
1. Return true.
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
1092 |
| block-scope-syntax-using-declarations-without-initializer.js |
---
esid: sec-let-and-const-declarations-static-semantics-early-errors
description: >
using declarations without initializer
info: |
Static Semantics : Early Errors
LexicalBinding : BindingIdentifier Initializer?
- It is a Syntax Error if Initializer is not present and IsConstantDeclaration of the LexicalDeclaration containing
this LexicalBinding is true.
Static Semantics : IsConstantDeclaration
UsingDeclaration :
`using` BindingList ;
1. Return true.
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
1069 |
| browser.js |
|
0 |
| shell.js |
|
0 |
| using-allowed-at-top-level-of-module.js |
---
esid: sec-let-const-using-and-await-using-declarations-static-semantics-early-errors
description: >
using declarations allowed at the top level of a module
info: |
UsingDeclaration : using BindingList ;
- It is a Syntax Error if the goal symbol is Script and UsingDeclaration is not contained, either directly or
indirectly, within a Block, ForStatement, ForInOfStatement, FunctionBody, GeneratorBody,
AsyncGeneratorBody, AsyncFunctionBody, ClassStaticBlockBody, or ClassBody.
flags: [module]
features: [explicit-resource-management]
--- |
1023 |
| using-allows-bindingidentifier.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'using' allows BindingIdentifier in lexical bindings
features: [explicit-resource-management]
--- |
635 |
| using-allows-multiple-bindings.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'using' allows multiple lexical bindings
features: [explicit-resource-management]
--- |
634 |
| using-declaring-let-split-across-two-lines.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
using: |using let| split across two lines is treated as two statements.
info: |
Lexical declarations may not declare a binding named "let".
flags: [noStrict]
features: [explicit-resource-management]
--- |
821 |
| using-for-statement.js |
---
esid: sec-for-statement
description: >
using: 'for (using x = ' and 'for (using of =' are interpreted as for loop
features: [explicit-resource-management]
--- |
829 |
| using-for-using-of-of.js |
---
esid: sec-for-in-and-for-of-statements
description: >
using: 'for (using of' is always interpreted as identifier
features: [explicit-resource-management]
--- |
921 |
| using-invalid-arraybindingpattern-after-bindingidentifier.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'using' does not allow ArrayBindingPattern in lexical bindings, even after a valid lexical binding
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
753 |
| using-invalid-arraybindingpattern-does-not-break-element-access.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'using' does not break existing element access
features: [explicit-resource-management]
--- |
655 |
| using-invalid-arraybindingpattern.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'using' does not allow ArrayBindingPattern in lexical bindings
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
707 |
| using-invalid-assignment-next-expression-for.js |
---
esid: sec-declarative-environment-records-setmutablebinding-n-v-s
description: >
using: invalid assignment in next expression. Since a `using` declaration introduces an immutable
binding, any attempt to change it results in a TypeError.
features: [explicit-resource-management]
--- |
845 |
| using-invalid-assignment-statement-body-for-of.js |
---
esid: sec-declarative-environment-records-setmutablebinding-n-v-s
description: >
using: invalid assignment in Statement body. Since a `using` declaration introduces an immutable
binding, any attempt to change it results in a TypeError.
features: [explicit-resource-management]
--- |
835 |
| using-invalid-for-in.js |
---
esid: sec-for-in-and-for-of-statements
description: >
using: not allowed in for..in
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
664 |
| using-invalid-objectbindingpattern-after-bindingidentifier.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'using' does not allow ObjectBindingPattern in lexical bindings, even after a valid lexical binding
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
754 |
| using-invalid-objectbindingpattern.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'using' does not allow ObjectBindingPattern in lexical bindings
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
708 |
| using-not-allowed-at-top-level-of-eval.js |
---
esid: sec-let-const-using-and-await-using-declarations-static-semantics-early-errors
description: >
using declarations not allowed at the top level of eval. Note that Eval parses text using the Script goal.
info: |
UsingDeclaration : using BindingList ;
- It is a Syntax Error if the goal symbol is Script and UsingDeclaration is not contained, either directly or
indirectly, within a Block, ForStatement, ForInOfStatement, FunctionBody, GeneratorBody,
AsyncGeneratorBody, AsyncFunctionBody, ClassStaticBlockBody, or ClassBody.
features: [explicit-resource-management]
--- |
1105 |
| using-not-allowed-at-top-level-of-script.js |
---
esid: sec-let-const-using-and-await-using-declarations-static-semantics-early-errors
description: >
using declarations not allowed at the top level of a Script
info: |
UsingDeclaration : using BindingList ;
- It is a Syntax Error if the goal symbol is Script and UsingDeclaration is not contained, either directly or
indirectly, within a Block, ForStatement, ForInOfStatement, FunctionBody, GeneratorBody,
AsyncGeneratorBody, AsyncFunctionBody, ClassStaticBlockBody, or ClassBody.
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
1063 |
| using-outer-inner-using-bindings.js |
---
esid: sec-runtime-semantics-fordeclarationbindinginstantiation
description: >
outer using binding unchanged by for-loop using binding
features: [explicit-resource-management]
--- |
1058 |
| using.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
module and block scope using
flags: [module]
features: [explicit-resource-management]
--- |
802 |
| with-initializer-case-expression-statement-list.js |
---
esid: sec-let-const-using-and-await-using-declarations-static-semantics-early-errors
description: >
using declarations with initialisers in statement positions:
case Expression : StatementList
info: |
AwaitUsingDeclaration : CoverAwaitExpressionAndAwaitUsingDeclarationHead BindingList ;
- It is a Syntax Error if AwaitUsingDeclaration is contained directly within the StatementList of either a CaseClause or
DefaultClause.
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
1030 |
| with-initializer-default-statement-list.js |
---
esid: sec-let-const-using-and-await-using-declarations-static-semantics-early-errors
description: >
using declarations with initialisers in statement positions:
default : StatementList
info: |
AwaitUsingDeclaration : CoverAwaitExpressionAndAwaitUsingDeclarationHead BindingList ;
- It is a Syntax Error if AwaitUsingDeclaration is contained directly within the StatementList of either a CaseClause or
DefaultClause.
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
1021 |
| with-initializer-do-statement-while-expression.js |
---
esid: sec-do-while-statement
description: >
using declarations with initialisers in statement positions:
do Statement while ( Expression )
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
723 |
| with-initializer-for-statement.js |
---
esid: sec-for-statement
description: >
using declarations with initialisers in statement positions:
for (;;) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
703 |
| with-initializer-if-expression-statement-else-statement.js |
---
esid: sec-if-statement
description: >
using declarations with initialisers in statement positions:
if ( Expression ) Statement else Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
730 |
| with-initializer-if-expression-statement.js |
---
esid: sec-if-statement
description: >
using declarations with initialisers in statement positions:
if ( Expression ) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
707 |
| with-initializer-label-statement.js |
---
esid: sec-labelled-statements
description: >
using declarations with initialisers in statement positions:
label: Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
700 |
| with-initializer-while-expression-statement.js |
---
esid: sec-while-statement
description: >
using declarations with initialisers in statement positions:
while ( Expression ) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
717 |
| without-initializer-do-statement-while-expression.js |
---
esid: sec-do-while-statement
description: >
using declarations without initialisers in statement positions:
do Statement while ( Expression )
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
722 |
| without-initializer-for-statement.js |
---
esid: sec-for-statement
description: >
using declarations without initialisers in statement positions:
for ( ;;) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
700 |
| without-initializer-if-expression-statement-else-statement.js |
---
esid: sec-if-statement
description: >
using declarations without initialisers in statement positions:
if ( Expression ) Statement else Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
726 |
| without-initializer-if-expression-statement.js |
---
esid: sec-if-statement
description: >
using declarations without initialisers in statement positions:
if ( Expression ) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
703 |
| without-initializer-label-statement.js |
---
esid: sec-labelled-statements
description: >
using declarations without initialisers in statement positions:
label: Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
696 |
| without-initializer-while-expression-statement.js |
---
esid: sec-while-statement
description: >
using declarations without initialisers in statement positions:
while ( Expression ) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
713 |