| await-using-allowed-at-top-level-of-module.js |
---
esid: sec-let-const-using-and-await-using-declarations-static-semantics-early-errors
description: >
await using declarations allowed at the top level of a module
info: |
AwaitUsingDeclaration : CoverAwaitExpressionAndAwaitUsingDeclarationHead 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]
--- |
1083 |
| await-using-allows-bindingidentifier.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'await using' allows BindingIdentifier in lexical bindings
flags: [async]
includes: [asyncHelpers.js]
features: [explicit-resource-management]
--- |
704 |
| await-using-allows-multiple-bindings.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'await using' allows multiple lexical bindings
features: [explicit-resource-management]
--- |
665 |
| await-using-declaring-let-split-across-two-lines.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
await using: |await using let| split across two lines is treated as two statements.
info: |
Lexical declarations may not declare a binding named "let".
flags: [noStrict, async]
includes: [asyncHelpers.js]
features: [explicit-resource-management]
--- |
888 |
| await-using-invalid-arraybindingpattern-after-bindingidentifier.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'await using' does not allow ArrayBindingPattern in lexical bindings, even after a valid lexical binding
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
784 |
| await-using-invalid-arraybindingpattern-does-not-break-element-access.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'await using' does not break existing element access
flags: [async]
includes: [asyncHelpers.js]
features: [explicit-resource-management]
--- |
717 |
| await-using-invalid-arraybindingpattern.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'await using' does not allow ArrayBindingPattern in lexical bindings
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
735 |
| await-using-invalid-assignment-next-expression-for.js |
---
esid: sec-declarative-environment-records-setmutablebinding-n-v-s
description: >
await using: invalid assignment in next expression. Since an `await using` declaration introduces an immutable
binding, any attempt to change it results in a TypeError.
flags: [async]
includes: [asyncHelpers.js]
features: [explicit-resource-management]
--- |
947 |
| await-using-invalid-assignment-statement-body-for-of.js |
---
esid: sec-declarative-environment-records-setmutablebinding-n-v-s
description: >
await using: invalid assignment in Statement body. Since an `await using` declaration introduces an immutable
binding, any attempt to change it results in a TypeError.
flags: [async]
includes: [asyncHelpers.js]
features: [explicit-resource-management]
--- |
939 |
| await-using-invalid-for-in.js |
---
esid: sec-for-in-and-for-of-statements
description: >
await using: not allowed in for..in
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
712 |
| await-using-invalid-objectbindingpattern-after-bindingidentifier.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'await using' does not allow ObjectBindingPattern in lexical bindings, even after a valid lexical binding
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
784 |
| await-using-invalid-objectbindingpattern.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
'await using' does not allow ObjectBindingPattern in lexical bindings
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
738 |
| await-using-not-allowed-at-top-level-of-eval.js |
---
esid: sec-let-const-using-and-await-using-declarations-static-semantics-early-errors
description: >
await using declarations not allowed at the top level of eval. Note that Eval parses text using the Script goal.
info: |
AwaitUsingDeclaration : CoverAwaitExpressionAndAwaitUsingDeclarationHead 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: [async]
includes: [asyncHelpers.js]
features: [explicit-resource-management]
--- |
1250 |
| await-using-not-allowed-at-top-level-of-script.js |
---
esid: sec-let-const-using-and-await-using-declarations-static-semantics-early-errors
description: >
await using declarations not allowed at the top level of a Script
info: |
AwaitUsingDeclaration : CoverAwaitExpressionAndAwaitUsingDeclarationHead 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]
--- |
1123 |
| await-using-outer-inner-using-bindings.js |
---
esid: sec-runtime-semantics-fordeclarationbindinginstantiation
description: >
outer await using binding unchanged by for-loop await using binding
flags: [async]
includes: [asyncHelpers.js]
features: [explicit-resource-management]
--- |
1187 |
| await-using-valid-for-await-using-of-of.js |
---
esid: sec-for-in-and-for-of-statements
description: >
await using: 'for (await using of of' interpreted as 'await using'
features: [explicit-resource-management]
--- |
678 |
| await-using.js |
---
esid: sec-let-const-using-and-await-using-declarations
description: >
module and block scope await using
flags: [module]
features: [explicit-resource-management]
--- |
827 |
| block-scope-syntax-await-using-declarations-mixed-with-without-initializer.js |
---
esid: sec-let-and-const-declarations-static-semantics-early-errors
description: >
await 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
AwaitUsingDeclaration :
CoverAwaitExpressionAndAwaitUsingDeclarationHead BindingList ;
1. Return true.
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
1169 |
| block-scope-syntax-await-using-declarations-mixed-without-with-initializer.js |
---
esid: sec-let-and-const-declarations-static-semantics-early-errors
description: >
await 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
AwaitUsingDeclaration :
CoverAwaitExpressionAndAwaitUsingDeclarationHead BindingList ;
1. Return true.
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
1169 |
| block-scope-syntax-await-using-declarations-without-initializer.js |
---
esid: sec-let-and-const-declarations-static-semantics-early-errors
description: >
await 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
AwaitUsingDeclaration :
CoverAwaitExpressionAndAwaitUsingDeclarationHead BindingList ;
1. Return true.
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
1146 |
| browser.js |
|
0 |
| shell.js |
|
0 |
| with-initializer-case-expression-statement-list.js |
---
esid: sec-let-const-using-and-await-using-declarations-static-semantics-early-errors
description: >
await 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]
--- |
1072 |
| with-initializer-default-statement-list.js |
---
esid: sec-let-const-using-and-await-using-declarations-static-semantics-early-errors
description: >
await 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]
--- |
1062 |
| with-initializer-do-statement-while-expression.js |
---
esid: sec-do-while-statement
description: >
await using declarations with initialisers in statement positions:
do Statement while ( Expression )
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
760 |
| with-initializer-for-statement.js |
---
esid: sec-for-statement
description: >
await using declarations with initialisers in statement positions:
for (;;) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
740 |
| with-initializer-if-expression-statement-else-statement.js |
---
esid: sec-if-statement
description: >
await using declarations with initialisers in statement positions:
if ( Expression ) Statement else Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
767 |
| with-initializer-if-expression-statement.js |
---
esid: sec-if-statement
description: >
await using declarations with initialisers in statement positions:
if ( Expression ) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
744 |
| with-initializer-label-statement.js |
---
esid: sec-labelled-statements
description: >
await using declarations with initialisers in statement positions:
label: Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
737 |
| with-initializer-while-expression-statement.js |
---
esid: sec-while-statement
description: >
await using declarations with initialisers in statement positions:
while ( Expression ) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
754 |
| without-initializer-do-statement-while-expression.js |
---
esid: sec-do-while-statement
description: >
await using declarations without initialisers in statement positions:
do Statement while ( Expression )
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
759 |
| without-initializer-for-statement.js |
---
esid: sec-for-statement
description: >
await using declarations without initialisers in statement positions:
for ( ;;) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
737 |
| without-initializer-if-expression-statement-else-statement.js |
---
esid: sec-if-statement
description: >
await using declarations without initialisers in statement positions:
if ( Expression ) Statement else Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
763 |
| without-initializer-if-expression-statement.js |
---
esid: sec-if-statement
description: >
await using declarations without initialisers in statement positions:
if ( Expression ) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
740 |
| without-initializer-label-statement.js |
---
esid: sec-labelled-statements
description: >
await using declarations without initialisers in statement positions:
label: Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
733 |
| without-initializer-while-expression-statement.js |
---
esid: sec-while-statement
description: >
await using declarations without initialisers in statement positions:
while ( Expression ) Statement
negative:
phase: parse
type: SyntaxError
features: [explicit-resource-management]
--- |
750 |