From 44334f6f56bd99635f650796af0db8047e4c21c4 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 8 Sep 2018 09:18:42 +0300 Subject: fix labled expressions --- .../tests/data/parser/inline/0067_block_expr.rs | 1 + .../tests/data/parser/inline/0067_block_expr.txt | 23 +++++++++++++----- .../data/parser/inline/0108_misplaced_label_err.rs | 3 +++ .../parser/inline/0108_misplaced_label_err.txt | 28 ++++++++++++++++++++++ 4 files changed, 49 insertions(+), 6 deletions(-) create mode 100644 crates/libsyntax2/tests/data/parser/inline/0108_misplaced_label_err.rs create mode 100644 crates/libsyntax2/tests/data/parser/inline/0108_misplaced_label_err.txt (limited to 'crates/libsyntax2/tests/data/parser/inline') diff --git a/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.rs b/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.rs index ec3780a04..2fed74c5e 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.rs +++ b/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.rs @@ -1,4 +1,5 @@ fn foo() { {}; unsafe {}; + 'label: {}; } diff --git a/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt index 94104e746..12a1ff49a 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt @@ -1,5 +1,5 @@ -ROOT@[0; 36) - FN_DEF@[0; 35) +ROOT@[0; 52) + FN_DEF@[0; 51) FN_KW@[0; 2) WHITESPACE@[2; 3) NAME@[3; 6) @@ -8,7 +8,7 @@ ROOT@[0; 36) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK@[9; 35) + BLOCK@[9; 51) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 18) @@ -26,6 +26,17 @@ ROOT@[0; 36) L_CURLY@[30; 31) R_CURLY@[31; 32) SEMI@[32; 33) - WHITESPACE@[33; 34) - R_CURLY@[34; 35) - WHITESPACE@[35; 36) + WHITESPACE@[33; 38) + EXPR_STMT@[38; 49) + BLOCK_EXPR@[38; 48) + LABEL@[38; 45) + LIFETIME@[38; 44) "'label" + COLON@[44; 45) + WHITESPACE@[45; 46) + BLOCK@[46; 48) + L_CURLY@[46; 47) + R_CURLY@[47; 48) + SEMI@[48; 49) + WHITESPACE@[49; 50) + R_CURLY@[50; 51) + WHITESPACE@[51; 52) diff --git a/crates/libsyntax2/tests/data/parser/inline/0108_misplaced_label_err.rs b/crates/libsyntax2/tests/data/parser/inline/0108_misplaced_label_err.rs new file mode 100644 index 000000000..a2164c510 --- /dev/null +++ b/crates/libsyntax2/tests/data/parser/inline/0108_misplaced_label_err.rs @@ -0,0 +1,3 @@ +fn main() { + 'loop: impl +} diff --git a/crates/libsyntax2/tests/data/parser/inline/0108_misplaced_label_err.txt b/crates/libsyntax2/tests/data/parser/inline/0108_misplaced_label_err.txt new file mode 100644 index 000000000..d00305b97 --- /dev/null +++ b/crates/libsyntax2/tests/data/parser/inline/0108_misplaced_label_err.txt @@ -0,0 +1,28 @@ +ROOT@[0; 30) + FN_DEF@[0; 29) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 7) + IDENT@[3; 7) "main" + PARAM_LIST@[7; 9) + L_PAREN@[7; 8) + R_PAREN@[8; 9) + WHITESPACE@[9; 10) + BLOCK@[10; 29) + L_CURLY@[10; 11) + WHITESPACE@[11; 16) + EXPR_STMT@[16; 22) + ERROR@[16; 22) + LABEL@[16; 22) + LIFETIME@[16; 21) "'loop" + COLON@[21; 22) + err: `expected a loop` + err: `expected SEMI` + WHITESPACE@[22; 23) + IMPL_ITEM@[23; 27) + IMPL_KW@[23; 27) + err: `expected type` + err: `expected `{`` + WHITESPACE@[27; 28) + R_CURLY@[28; 29) + WHITESPACE@[29; 30) -- cgit v1.2.3