--- source: full-moon/tests/fail_cases.rs assertion_line: 23 expression: result.ast input_file: full-moon/tests/roblox_cases/fail/parser/string-interpolation-double-brace-recovery --- nodes: stmts: - - LocalAssignment: local_token: leading_trivia: [] token: start_position: bytes: 0 line: 1 character: 1 end_position: bytes: 5 line: 1 character: 6 token_type: type: Symbol symbol: local trailing_trivia: - start_position: bytes: 5 line: 1 character: 6 end_position: bytes: 6 line: 1 character: 7 token_type: type: Whitespace characters: " " name_list: pairs: - End: leading_trivia: [] token: start_position: bytes: 6 line: 1 character: 7 end_position: bytes: 7 line: 1 character: 8 token_type: type: Identifier identifier: _ trailing_trivia: - start_position: bytes: 7 line: 1 character: 8 end_position: bytes: 8 line: 1 character: 9 token_type: type: Whitespace characters: " " equal_token: leading_trivia: [] token: start_position: bytes: 8 line: 1 character: 9 end_position: bytes: 9 line: 1 character: 10 token_type: type: Symbol symbol: "=" trailing_trivia: - start_position: bytes: 9 line: 1 character: 10 end_position: bytes: 10 line: 1 character: 11 token_type: type: Whitespace characters: " " expr_list: pairs: - End: InterpolatedString: segments: - literal: leading_trivia: [] token: start_position: bytes: 10 line: 1 character: 11 end_position: bytes: 20 line: 1 character: 21 token_type: type: InterpolatedString literal: "2 + 2 = " kind: Begin trailing_trivia: [] expression: BinaryOperator: lhs: Number: leading_trivia: [] token: start_position: bytes: 21 line: 1 character: 22 end_position: bytes: 22 line: 1 character: 23 token_type: type: Number text: "2" trailing_trivia: - start_position: bytes: 22 line: 1 character: 23 end_position: bytes: 23 line: 1 character: 24 token_type: type: Whitespace characters: " " binop: Plus: leading_trivia: [] token: start_position: bytes: 23 line: 1 character: 24 end_position: bytes: 24 line: 1 character: 25 token_type: type: Symbol symbol: + trailing_trivia: - start_position: bytes: 24 line: 1 character: 25 end_position: bytes: 25 line: 1 character: 26 token_type: type: Whitespace characters: " " rhs: Number: leading_trivia: [] token: start_position: bytes: 25 line: 1 character: 26 end_position: bytes: 26 line: 1 character: 27 token_type: type: Number text: "2" trailing_trivia: [] last_string: leading_trivia: [] token: start_position: bytes: 27 line: 1 character: 28 end_position: bytes: 29 line: 1 character: 30 token_type: type: InterpolatedString literal: "" kind: End trailing_trivia: - start_position: bytes: 29 line: 1 character: 30 end_position: bytes: 30 line: 1 character: 30 token_type: type: Whitespace characters: "\n" - ~ eof: leading_trivia: [] token: start_position: bytes: 30 line: 2 character: 1 end_position: bytes: 30 line: 2 character: 1 token_type: type: Eof trailing_trivia: []