diff --git a/crates/oxc_parser/src/js/statement.rs b/crates/oxc_parser/src/js/statement.rs index 40fda84939508..d42c61f2ed561 100644 --- a/crates/oxc_parser/src/js/statement.rs +++ b/crates/oxc_parser/src/js/statement.rs @@ -366,10 +366,6 @@ impl<'a> ParserImpl<'a> { // for (a.b in ...), for ([a] in ..), for ({a} in ..) if self.at(Kind::In) || self.at(Kind::Of) { let target = AssignmentTarget::cover(init_expression, self); - if self.fatal_error.is_some() { - let span = self.end_span(expr_span); - self.fatal_error.as_mut().unwrap().error = diagnostics::unexpected_token(span); - } let for_stmt_left = ForStatementLeft::from(target); if !r#await && is_async_of { self.error(diagnostics::for_loop_async_of(self.end_span(expr_span))); diff --git a/tasks/coverage/misc/fail/oxc-10638.js b/tasks/coverage/misc/fail/oxc-10638.js new file mode 100644 index 0000000000000..b96227f8a2bff --- /dev/null +++ b/tasks/coverage/misc/fail/oxc-10638.js @@ -0,0 +1,2 @@ +for( +in diff --git a/tasks/coverage/snapshots/parser_babel.snap b/tasks/coverage/snapshots/parser_babel.snap index 983ce943a01e4..69f3525419033 100644 --- a/tasks/coverage/snapshots/parser_babel.snap +++ b/tasks/coverage/snapshots/parser_babel.snap @@ -1815,10 +1815,10 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc · ─ ╰──── - × Unexpected token - ╭─[babel/packages/babel-parser/test/fixtures/core/uncategorised/374/input.js:1:5] + × Cannot assign to this expression + ╭─[babel/packages/babel-parser/test/fixtures/core/uncategorised/374/input.js:1:6] 1 │ for((1 + 1) in list) process(x); - · ─────── + · ───── ╰──── × Expected `]` but found `EOF` @@ -2090,13 +2090,13 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc · ╰── `;` expected ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[babel/packages/babel-parser/test/fixtures/core/uncategorised/417/input.js:1:6] 1 │ for (i + 1 in {}); · ───── ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[babel/packages/babel-parser/test/fixtures/core/uncategorised/418/input.js:1:6] 1 │ for (+i in {}); · ── @@ -2920,7 +2920,7 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc ╰──── help: Try insert a semicolon here - × Unexpected token + × Cannot assign to this expression ╭─[babel/packages/babel-parser/test/fixtures/es2015/arrow-functions/no-for-in-init-concise-binary-in/input.js:1:6] 1 │ for (() => x in y;;); · ─────── @@ -3141,7 +3141,7 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc 4 │ }) ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[babel/packages/babel-parser/test/fixtures/es2015/for-in/bare-initializer/input.js:2:6] 1 │ var a; 2 │ for (a = 0 in {}); @@ -3179,7 +3179,7 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc · ─────────── ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[babel/packages/babel-parser/test/fixtures/es2015/for-of/bare-initializer/input.js:2:6] 1 │ var a; 2 │ for (a = 0 of {}); @@ -4994,7 +4994,7 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc · ───── ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[babel/packages/babel-parser/test/fixtures/es2015/yield/in-iterator-stmt/input.js:2:8] 1 │ function* g() { 2 │ for (yield '' in {}; ; ) ; @@ -5777,7 +5777,7 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc 3 │ } ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[babel/packages/babel-parser/test/fixtures/es2018/async-generators/for-await-async-of-arrow/input.js:2:14] 1 │ async function f() { 2 │ for await (async of => {} of x); @@ -6357,7 +6357,7 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc 5 │ } ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[babel/packages/babel-parser/test/fixtures/es2021/for-async-of/forbidden-arrow-function/input.js:1:6] 1 │ for (async of => {} of x); · ────────────── @@ -9033,7 +9033,7 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc · ───────── ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[babel/packages/babel-parser/test/fixtures/esprima/es2015-for-of/invalid-lhs-init/input.js:1:6] 1 │ for (this of that); · ──── @@ -10194,10 +10194,10 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc · ─ ╰──── - × Unexpected token - ╭─[babel/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0056/input.js:1:5] + × Cannot assign to this expression + ╭─[babel/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0056/input.js:1:6] 1 │ for((1 + 1) in list) process(x); - · ─────── + · ───── ╰──── × Expected `]` but found `EOF` @@ -10577,13 +10577,13 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc · ╰── `;` expected ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[babel/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0125/input.js:1:6] 1 │ for (i + 1 in {}); · ───── ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[babel/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0126/input.js:1:6] 1 │ for (+i in {}); · ── diff --git a/tasks/coverage/snapshots/parser_misc.snap b/tasks/coverage/snapshots/parser_misc.snap index f7fd7f139096e..1c0117fb8d078 100644 --- a/tasks/coverage/snapshots/parser_misc.snap +++ b/tasks/coverage/snapshots/parser_misc.snap @@ -1,7 +1,7 @@ parser_misc Summary: AST Parsed : 35/35 (100.00%) Positive Passed: 35/35 (100.00%) -Negative Passed: 31/31 (100.00%) +Negative Passed: 32/32 (100.00%) × Identifier `b` has already been declared ╭─[misc/fail/oxc-10159.js:1:22] @@ -11,6 +11,13 @@ Negative Passed: 31/31 (100.00%) · ╰── `b` has already been declared here ╰──── + × Unexpected token + ╭─[misc/fail/oxc-10638.js:2:1] + 1 │ for( + 2 │ in + · ── + ╰──── + × Unexpected token ╭─[misc/fail/oxc-169.js:2:1] 1 │ 1<(V=82< diff --git a/tasks/coverage/snapshots/parser_test262.snap b/tasks/coverage/snapshots/parser_test262.snap index 90786af033713..822f8e7871067 100644 --- a/tasks/coverage/snapshots/parser_test262.snap +++ b/tasks/coverage/snapshots/parser_test262.snap @@ -13,7 +13,7 @@ Negative Passed: 4519/4519 (100.00%) ╰──── help: for octal literals use the '0o' prefix instead - × Unexpected token + × Cannot assign to this expression ╭─[test262/test/annexB/language/statements/for-in/bare-initializer.js:16:6] 15 │ 16 │ for (a = 0 in {}); @@ -14199,14 +14199,14 @@ Negative Passed: 4519/4519 (100.00%) · ──── ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[test262/test/language/expressions/conditional/in-branch-2.js:23:6] 22 │ 23 │ for (true ? 0 : 0 in {}; false; ) ; · ──────────── ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[test262/test/language/expressions/conditional/in-condition.js:23:6] 22 │ 23 │ for ('' in {} ? 0 : 0; false; ) ; @@ -17564,7 +17564,7 @@ Negative Passed: 4519/4519 (100.00%) · ─────────── ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[test262/test/language/expressions/import.meta/syntax/invalid-assignment-target-for-await-of-loop.js:31:16] 30 │ async function* f() { 31 │ for await (import.meta of null) ; @@ -17572,14 +17572,14 @@ Negative Passed: 4519/4519 (100.00%) 32 │ } ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[test262/test/language/expressions/import.meta/syntax/invalid-assignment-target-for-in-loop.js:30:6] 29 │ 30 │ for (import.meta in null) ; · ─────────── ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[test262/test/language/expressions/import.meta/syntax/invalid-assignment-target-for-of-loop.js:30:6] 29 │ 30 │ for (import.meta of null) ; @@ -19722,7 +19722,7 @@ Negative Passed: 4519/4519 (100.00%) · ──── ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[test262/test/language/expressions/yield/in-iteration-stmt.js:23:8] 22 │ function* g() { 23 │ for (yield '' in {}; ; ) ; @@ -19738,7 +19738,7 @@ Negative Passed: 4519/4519 (100.00%) 29 │ } ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[test262/test/language/expressions/yield/star-in-iteration-stmt.js:23:8] 22 │ function* g() { 23 │ for (yield * '' in {}; ; ) ; @@ -33166,7 +33166,7 @@ Negative Passed: 4519/4519 (100.00%) 24 │ break; ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[test262/test/language/statements/for/S12.6.3_A4_T2.js:23:5] 22 │ //CHECK#1 23 │ for(1 in arr;1;) { @@ -33565,11 +33565,11 @@ Negative Passed: 4519/4519 (100.00%) 35 │ } ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-invalid.js:34:14] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-invalid.js:34:17] 33 │ async function fn() { 34 │ for await ([[(x, y)]] of [[[]]]) {} - · ────────── + · ──── 35 │ } ╰──── @@ -33581,11 +33581,11 @@ Negative Passed: 4519/4519 (100.00%) 35 │ } ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-obj-invalid.js:34:14] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-obj-invalid.js:34:22] 33 │ async function fn() { 34 │ for await ([{ get x() {} }] of [[{}]]) {} - · ──────────────── + · ───── 35 │ } ╰──── @@ -34371,11 +34371,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/dstr/array-elem-nested-array-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-in/dstr/array-elem-nested-array-invalid.js:33:9] 32 │ 33 │ for ([[(x, y)]] in [[[]]]) ; - · ────────── + · ──── ╰──── × The keyword 'yield' is reserved @@ -34392,11 +34392,11 @@ Negative Passed: 4519/4519 (100.00%) · ──── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/dstr/array-elem-nested-obj-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-in/dstr/array-elem-nested-obj-invalid.js:33:14] 32 │ 33 │ for ([{ get x() {} }] in [[{}]]) ; - · ──────────────── + · ───── ╰──── × The keyword 'yield' is reserved @@ -34430,11 +34430,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/dstr/array-rest-before-element.js:33:6] + × Spread must be last element + ╭─[test262/test/language/statements/for-in/dstr/array-rest-before-element.js:33:7] 32 │ 33 │ for ([...x, y] in [[]]) ; - · ───────── + · ──── ╰──── × Unexpected trailing comma after rest element @@ -34444,11 +34444,11 @@ Negative Passed: 4519/4519 (100.00%) · ─ ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/dstr/array-rest-before-rest.js:33:6] + × Spread must be last element + ╭─[test262/test/language/statements/for-in/dstr/array-rest-before-rest.js:33:7] 32 │ 33 │ for ([...x, ...y] in [[]]) ; - · ──────────── + · ──── ╰──── × Unexpected trailing comma after rest element @@ -34458,18 +34458,18 @@ Negative Passed: 4519/4519 (100.00%) · ─ ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/dstr/array-rest-init.js:34:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-in/dstr/array-rest-init.js:34:10] 33 │ 34 │ for ([...x = 1] in [[]]) ; - · ────────── + · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/dstr/array-rest-nested-array-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-in/dstr/array-rest-nested-array-invalid.js:33:12] 32 │ 33 │ for ([...[(x, y)]] in [[[]]]) ; - · ───────────── + · ──── ╰──── × The keyword 'yield' is reserved @@ -34479,11 +34479,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/dstr/array-rest-nested-obj-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-in/dstr/array-rest-nested-obj-invalid.js:33:17] 32 │ 33 │ for ([...{ get x() {} }] in [[[]]]) ; - · ─────────────────── + · ───── ╰──── × The keyword 'yield' is reserved @@ -34567,11 +34567,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/dstr/obj-prop-nested-array-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-in/dstr/obj-prop-nested-array-invalid.js:33:13] 32 │ 33 │ for ({ x: [(x, y)] } in [{ x: [] }]) ; - · ─────────────── + · ──── ╰──── × The keyword 'yield' is reserved @@ -34581,11 +34581,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/dstr/obj-prop-nested-obj-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-in/dstr/obj-prop-nested-obj-invalid.js:33:18] 32 │ 33 │ for ({ x: { get x() {} } } in [{ x: {} }]) ; - · ───────────────────── + · ───── ╰──── × The keyword 'yield' is reserved @@ -34595,11 +34595,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/dstr/obj-rest-not-last-element-invalid.js:34:6] + × Spread must be last element + ╭─[test262/test/language/statements/for-in/dstr/obj-rest-not-last-element-invalid.js:34:7] 33 │ 34 │ for ({...rest, b} in [{} - · ──────────── + · ─────── 35 │ ]) ; ╰──── @@ -34659,28 +34659,28 @@ Negative Passed: 4519/4519 (100.00%) · ─── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/head-lhs-cover-non-asnmt-trgt.js:25:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-in/head-lhs-cover-non-asnmt-trgt.js:25:7] 24 │ 25 │ for ((this) in {}) {} - · ────── + · ──── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-ary.js:21:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-ary.js:21:8] 20 │ 21 │ for ([(x, y)] in {}) {} - · ──────── + · ──── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-obj.js:21:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-obj.js:21:9] 20 │ 21 │ for ({ m() {} } in {}) {} - · ────────── + · ───── ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[test262/test/language/statements/for-in/head-lhs-non-asnmt-trgt.js:19:6] 18 │ 19 │ for (this in {}) {} @@ -34877,11 +34877,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/dstr/array-elem-nested-array-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-of/dstr/array-elem-nested-array-invalid.js:33:9] 32 │ 33 │ for ([[(x, y)]] of [[[]]]) ; - · ────────── + · ──── ╰──── × The keyword 'yield' is reserved @@ -34898,11 +34898,11 @@ Negative Passed: 4519/4519 (100.00%) · ──── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/dstr/array-elem-nested-obj-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-of/dstr/array-elem-nested-obj-invalid.js:33:14] 32 │ 33 │ for ([{ get x() {} }] of [[{}]]) ; - · ──────────────── + · ───── ╰──── × The keyword 'yield' is reserved @@ -34936,11 +34936,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/dstr/array-rest-before-element.js:33:6] + × Spread must be last element + ╭─[test262/test/language/statements/for-of/dstr/array-rest-before-element.js:33:7] 32 │ 33 │ for ([...x, y] of [[]]) ; - · ───────── + · ──── ╰──── × Unexpected trailing comma after rest element @@ -34950,11 +34950,11 @@ Negative Passed: 4519/4519 (100.00%) · ─ ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/dstr/array-rest-before-rest.js:33:6] + × Spread must be last element + ╭─[test262/test/language/statements/for-of/dstr/array-rest-before-rest.js:33:7] 32 │ 33 │ for ([...x, ...y] of [[]]) ; - · ──────────── + · ──── ╰──── × Unexpected trailing comma after rest element @@ -34964,18 +34964,18 @@ Negative Passed: 4519/4519 (100.00%) · ─ ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/dstr/array-rest-init.js:34:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-of/dstr/array-rest-init.js:34:10] 33 │ 34 │ for ([...x = 1] of [[]]) ; - · ────────── + · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/dstr/array-rest-nested-array-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-of/dstr/array-rest-nested-array-invalid.js:33:12] 32 │ 33 │ for ([...[(x, y)]] of [[[]]]) ; - · ───────────── + · ──── ╰──── × The keyword 'yield' is reserved @@ -34985,11 +34985,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/dstr/array-rest-nested-obj-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-of/dstr/array-rest-nested-obj-invalid.js:33:17] 32 │ 33 │ for ([...{ get x() {} }] of [[[]]]) ; - · ─────────────────── + · ───── ╰──── × The keyword 'yield' is reserved @@ -35197,11 +35197,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/dstr/obj-prop-nested-array-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-of/dstr/obj-prop-nested-array-invalid.js:33:13] 32 │ 33 │ for ({ x: [(x, y)] } of [{ x: [] }]) ; - · ─────────────── + · ──── ╰──── × The keyword 'yield' is reserved @@ -35211,11 +35211,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/dstr/obj-prop-nested-obj-invalid.js:33:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-of/dstr/obj-prop-nested-obj-invalid.js:33:18] 32 │ 33 │ for ({ x: { get x() {} } } of [{ x: {} }]) ; - · ───────────────────── + · ───── ╰──── × The keyword 'yield' is reserved @@ -35225,11 +35225,11 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/dstr/obj-rest-not-last-element-invalid.js:34:6] + × Spread must be last element + ╭─[test262/test/language/statements/for-of/dstr/obj-rest-not-last-element-invalid.js:34:7] 33 │ 34 │ for ({...rest, b} of [{} - · ──────────── + · ─────── 35 │ ]) ; ╰──── @@ -35395,25 +35395,25 @@ Negative Passed: 4519/4519 (100.00%) · ───── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/head-lhs-cover-non-asnmt-trgt.js:25:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-of/head-lhs-cover-non-asnmt-trgt.js:25:7] 24 │ 25 │ for ((this) of []) {} - · ────── + · ──── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-ary.js:21:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-ary.js:21:8] 20 │ 21 │ for ([(x, y)] of []) {} - · ──────── + · ──── ╰──── - × Unexpected token - ╭─[test262/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-obj.js:21:6] + × Cannot assign to this expression + ╭─[test262/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-obj.js:21:9] 20 │ 21 │ for ({ m() {} } of []) {} - · ────────── + · ───── ╰──── × Expected `;` but found `[` @@ -35424,7 +35424,7 @@ Negative Passed: 4519/4519 (100.00%) · ╰── `;` expected ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[test262/test/language/statements/for-of/head-lhs-non-asnmt-trgt.js:19:6] 18 │ 19 │ for (this of []) {} diff --git a/tasks/coverage/snapshots/parser_typescript.snap b/tasks/coverage/snapshots/parser_typescript.snap index b01080b824c9b..4cca9fa25bce1 100644 --- a/tasks/coverage/snapshots/parser_typescript.snap +++ b/tasks/coverage/snapshots/parser_typescript.snap @@ -21303,7 +21303,7 @@ Expect to Parse: tasks/coverage/typescript/tests/cases/conformance/salsa/private 2 │ for (v of []) { } ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[typescript/tests/cases/conformance/es6/for-ofStatements/for-of3.ts:2:6] 1 │ var v: any; 2 │ for (v++ of []) { } @@ -27362,28 +27362,28 @@ Expect to Parse: tasks/coverage/typescript/tests/cases/conformance/salsa/private ╰──── help: This iterator's type will be inferred from the iterable. You can safely remove the type annotation. - × Unexpected token + × Cannot assign to this expression ╭─[typescript/tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement4.ts:1:6] 1 │ for (a = 1 in b) { · ───── 2 │ } ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[typescript/tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement6.ts:1:6] 1 │ for (foo() in b) { · ───── 2 │ } ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[typescript/tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement7.ts:1:6] 1 │ for (new foo() in b) { · ───────── 2 │ } ╰──── - × Unexpected token + × Cannot assign to this expression ╭─[typescript/tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement8.ts:1:6] 1 │ for (this in b) { · ──── @@ -28783,10 +28783,10 @@ Expect to Parse: tasks/coverage/typescript/tests/cases/conformance/salsa/private ╰──── help: This iterator's type will be inferred from the iterable. You can safely remove the type annotation. - × Unexpected token - ╭─[typescript/tests/cases/conformance/statements/for-ofStatements/ES5For-of12.ts:1:6] + × Cannot assign to this expression + ╭─[typescript/tests/cases/conformance/statements/for-ofStatements/ES5For-of12.ts:1:7] 1 │ for ([""] of [[""]]) { } - · ──── + · ── ╰──── × Missing initializer in const declaration