JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsExpressionStatement { expression: JsParenthesizedExpression { l_paren_token: L_PAREN@0..1 "(" [] [], expression: JsAssignmentExpression { left: JsIdentifierAssignment { name_token: IDENT@1..5 "foo" [] [Whitespace(" ")], }, operator_token: EQ@5..7 "=" [] [Whitespace(" ")], right: missing (required), }, r_paren_token: R_PAREN@7..8 ")" [] [], }, semicolon_token: SEMICOLON@8..9 ";" [] [], }, ], eof_token: EOF@9..10 "" [Newline("\n")] [], } 0: JS_MODULE@0..10 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..9 0: JS_EXPRESSION_STATEMENT@0..9 0: JS_PARENTHESIZED_EXPRESSION@0..8 0: L_PAREN@0..1 "(" [] [] 1: JS_ASSIGNMENT_EXPRESSION@1..7 0: JS_IDENTIFIER_ASSIGNMENT@1..5 0: IDENT@1..5 "foo" [] [Whitespace(" ")] 1: EQ@5..7 "=" [] [Whitespace(" ")] 2: (empty) 2: R_PAREN@7..8 ")" [] [] 1: SEMICOLON@8..9 ";" [] [] 4: EOF@9..10 "" [Newline("\n")] [] -- assign_expr_right.js:1:8 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected an expression, or an assignment but instead found ')'. > 1 │ (foo = ); │ ^ 2 │ i Expected an expression, or an assignment here. > 1 │ (foo = ); │ ^ 2 │ -- (foo = );