diff options
Diffstat (limited to 'crates/ra_syntax/tests/data/parser/err')
33 files changed, 1315 insertions, 1299 deletions
diff --git a/crates/ra_syntax/tests/data/parser/err/0000_struct_field_missing_comma.txt b/crates/ra_syntax/tests/data/parser/err/0000_struct_field_missing_comma.txt index 665f7599c..21ef31ba8 100644 --- a/crates/ra_syntax/tests/data/parser/err/0000_struct_field_missing_comma.txt +++ b/crates/ra_syntax/tests/data/parser/err/0000_struct_field_missing_comma.txt | |||
@@ -1,34 +1,34 @@ | |||
1 | SOURCE_FILE@[0; 34) | 1 | SOURCE_FILE@[0; 34) |
2 | STRUCT_DEF@[0; 34) | 2 | STRUCT_DEF@[0; 34) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) "struct" |
4 | WHITESPACE@[6; 7) | 4 | WHITESPACE@[6; 7) " " |
5 | NAME@[7; 8) | 5 | NAME@[7; 8) |
6 | IDENT@[7; 8) "S" | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | 7 | WHITESPACE@[8; 9) " " |
8 | NAMED_FIELD_DEF_LIST@[9; 34) | 8 | NAMED_FIELD_DEF_LIST@[9; 34) |
9 | L_CURLY@[9; 10) | 9 | L_CURLY@[9; 10) "{" |
10 | WHITESPACE@[10; 15) | 10 | WHITESPACE@[10; 15) "\n " |
11 | NAMED_FIELD_DEF@[15; 21) | 11 | NAMED_FIELD_DEF@[15; 21) |
12 | NAME@[15; 16) | 12 | NAME@[15; 16) |
13 | IDENT@[15; 16) "a" | 13 | IDENT@[15; 16) "a" |
14 | COLON@[16; 17) | 14 | COLON@[16; 17) ":" |
15 | WHITESPACE@[17; 18) | 15 | WHITESPACE@[17; 18) " " |
16 | PATH_TYPE@[18; 21) | 16 | PATH_TYPE@[18; 21) |
17 | PATH@[18; 21) | 17 | PATH@[18; 21) |
18 | PATH_SEGMENT@[18; 21) | 18 | PATH_SEGMENT@[18; 21) |
19 | NAME_REF@[18; 21) | 19 | NAME_REF@[18; 21) |
20 | IDENT@[18; 21) "u32" | 20 | IDENT@[18; 21) "u32" |
21 | err: `expected COMMA` | 21 | err: `expected COMMA` |
22 | WHITESPACE@[21; 26) | 22 | WHITESPACE@[21; 26) "\n " |
23 | NAMED_FIELD_DEF@[26; 32) | 23 | NAMED_FIELD_DEF@[26; 32) |
24 | NAME@[26; 27) | 24 | NAME@[26; 27) |
25 | IDENT@[26; 27) "b" | 25 | IDENT@[26; 27) "b" |
26 | COLON@[27; 28) | 26 | COLON@[27; 28) ":" |
27 | WHITESPACE@[28; 29) | 27 | WHITESPACE@[28; 29) " " |
28 | PATH_TYPE@[29; 32) | 28 | PATH_TYPE@[29; 32) |
29 | PATH@[29; 32) | 29 | PATH@[29; 32) |
30 | PATH_SEGMENT@[29; 32) | 30 | PATH_SEGMENT@[29; 32) |
31 | NAME_REF@[29; 32) | 31 | NAME_REF@[29; 32) |
32 | IDENT@[29; 32) "u32" | 32 | IDENT@[29; 32) "u32" |
33 | WHITESPACE@[32; 33) | 33 | WHITESPACE@[32; 33) "\n" |
34 | R_CURLY@[33; 34) | 34 | R_CURLY@[33; 34) "}" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0001_item_recovery_in_file.txt b/crates/ra_syntax/tests/data/parser/err/0001_item_recovery_in_file.txt index 74743d7ad..d7762c089 100644 --- a/crates/ra_syntax/tests/data/parser/err/0001_item_recovery_in_file.txt +++ b/crates/ra_syntax/tests/data/parser/err/0001_item_recovery_in_file.txt | |||
@@ -1,18 +1,18 @@ | |||
1 | SOURCE_FILE@[0; 21) | 1 | SOURCE_FILE@[0; 21) |
2 | ERROR@[0; 2) | 2 | ERROR@[0; 2) |
3 | IF_KW@[0; 2) | 3 | IF_KW@[0; 2) "if" |
4 | err: `expected an item` | 4 | err: `expected an item` |
5 | WHITESPACE@[2; 3) | 5 | WHITESPACE@[2; 3) " " |
6 | err: `expected an item` | 6 | err: `expected an item` |
7 | ERROR@[3; 8) | 7 | ERROR@[3; 8) |
8 | MATCH_KW@[3; 8) | 8 | MATCH_KW@[3; 8) "match" |
9 | WHITESPACE@[8; 10) | 9 | WHITESPACE@[8; 10) "\n\n" |
10 | STRUCT_DEF@[10; 21) | 10 | STRUCT_DEF@[10; 21) |
11 | STRUCT_KW@[10; 16) | 11 | STRUCT_KW@[10; 16) "struct" |
12 | WHITESPACE@[16; 17) | 12 | WHITESPACE@[16; 17) " " |
13 | NAME@[17; 18) | 13 | NAME@[17; 18) |
14 | IDENT@[17; 18) "S" | 14 | IDENT@[17; 18) "S" |
15 | WHITESPACE@[18; 19) | 15 | WHITESPACE@[18; 19) " " |
16 | NAMED_FIELD_DEF_LIST@[19; 21) | 16 | NAMED_FIELD_DEF_LIST@[19; 21) |
17 | L_CURLY@[19; 20) | 17 | L_CURLY@[19; 20) "{" |
18 | R_CURLY@[20; 21) | 18 | R_CURLY@[20; 21) "}" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0002_duplicate_shebang.txt b/crates/ra_syntax/tests/data/parser/err/0002_duplicate_shebang.txt index a1f041c33..76642f43b 100644 --- a/crates/ra_syntax/tests/data/parser/err/0002_duplicate_shebang.txt +++ b/crates/ra_syntax/tests/data/parser/err/0002_duplicate_shebang.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | SOURCE_FILE@[0; 42) | 1 | SOURCE_FILE@[0; 42) |
2 | SHEBANG@[0; 20) | 2 | SHEBANG@[0; 20) "#!/use/bin/env rusti" |
3 | WHITESPACE@[20; 21) | 3 | WHITESPACE@[20; 21) "\n" |
4 | err: `expected an item` | 4 | err: `expected an item` |
5 | ERROR@[21; 41) | 5 | ERROR@[21; 41) |
6 | SHEBANG@[21; 41) | 6 | SHEBANG@[21; 41) "#!/use/bin/env rusti" |
7 | WHITESPACE@[41; 42) | 7 | WHITESPACE@[41; 42) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0003_C++_semicolon.txt b/crates/ra_syntax/tests/data/parser/err/0003_C++_semicolon.txt index b87fe46bd..b52aaa368 100644 --- a/crates/ra_syntax/tests/data/parser/err/0003_C++_semicolon.txt +++ b/crates/ra_syntax/tests/data/parser/err/0003_C++_semicolon.txt | |||
@@ -1,39 +1,39 @@ | |||
1 | SOURCE_FILE@[0; 40) | 1 | SOURCE_FILE@[0; 40) |
2 | STRUCT_DEF@[0; 39) | 2 | STRUCT_DEF@[0; 39) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) "struct" |
4 | WHITESPACE@[6; 7) | 4 | WHITESPACE@[6; 7) " " |
5 | NAME@[7; 8) | 5 | NAME@[7; 8) |
6 | IDENT@[7; 8) "S" | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | 7 | WHITESPACE@[8; 9) " " |
8 | NAMED_FIELD_DEF_LIST@[9; 39) | 8 | NAMED_FIELD_DEF_LIST@[9; 39) |
9 | L_CURLY@[9; 10) | 9 | L_CURLY@[9; 10) "{" |
10 | WHITESPACE@[10; 15) | 10 | WHITESPACE@[10; 15) "\n " |
11 | NAMED_FIELD_DEF@[15; 21) | 11 | NAMED_FIELD_DEF@[15; 21) |
12 | NAME@[15; 16) | 12 | NAME@[15; 16) |
13 | IDENT@[15; 16) "a" | 13 | IDENT@[15; 16) "a" |
14 | COLON@[16; 17) | 14 | COLON@[16; 17) ":" |
15 | WHITESPACE@[17; 18) | 15 | WHITESPACE@[17; 18) " " |
16 | PATH_TYPE@[18; 21) | 16 | PATH_TYPE@[18; 21) |
17 | PATH@[18; 21) | 17 | PATH@[18; 21) |
18 | PATH_SEGMENT@[18; 21) | 18 | PATH_SEGMENT@[18; 21) |
19 | NAME_REF@[18; 21) | 19 | NAME_REF@[18; 21) |
20 | IDENT@[18; 21) "i32" | 20 | IDENT@[18; 21) "i32" |
21 | COMMA@[21; 22) | 21 | COMMA@[21; 22) "," |
22 | WHITESPACE@[22; 27) | 22 | WHITESPACE@[22; 27) "\n " |
23 | NAMED_FIELD_DEF@[27; 36) | 23 | NAMED_FIELD_DEF@[27; 36) |
24 | NAME@[27; 28) | 24 | NAME@[27; 28) |
25 | IDENT@[27; 28) "b" | 25 | IDENT@[27; 28) "b" |
26 | COLON@[28; 29) | 26 | COLON@[28; 29) ":" |
27 | WHITESPACE@[29; 30) | 27 | WHITESPACE@[29; 30) " " |
28 | PATH_TYPE@[30; 36) | 28 | PATH_TYPE@[30; 36) |
29 | PATH@[30; 36) | 29 | PATH@[30; 36) |
30 | PATH_SEGMENT@[30; 36) | 30 | PATH_SEGMENT@[30; 36) |
31 | NAME_REF@[30; 36) | 31 | NAME_REF@[30; 36) |
32 | IDENT@[30; 36) "String" | 32 | IDENT@[30; 36) "String" |
33 | COMMA@[36; 37) | 33 | COMMA@[36; 37) "," |
34 | WHITESPACE@[37; 38) | 34 | WHITESPACE@[37; 38) "\n" |
35 | R_CURLY@[38; 39) | 35 | R_CURLY@[38; 39) "}" |
36 | err: `expected item, found `;` | 36 | err: `expected item, found `;` |
37 | consider removing this semicolon` | 37 | consider removing this semicolon` |
38 | ERROR@[39; 40) | 38 | ERROR@[39; 40) |
39 | SEMI@[39; 40) | 39 | SEMI@[39; 40) ";" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0004_use_path_bad_segment.txt b/crates/ra_syntax/tests/data/parser/err/0004_use_path_bad_segment.txt index 5bdb24676..fb44f21ea 100644 --- a/crates/ra_syntax/tests/data/parser/err/0004_use_path_bad_segment.txt +++ b/crates/ra_syntax/tests/data/parser/err/0004_use_path_bad_segment.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | SOURCE_FILE@[0; 12) | 1 | SOURCE_FILE@[0; 12) |
2 | USE_ITEM@[0; 12) | 2 | USE_ITEM@[0; 12) |
3 | USE_KW@[0; 3) | 3 | USE_KW@[0; 3) "use" |
4 | WHITESPACE@[3; 4) | 4 | WHITESPACE@[3; 4) " " |
5 | USE_TREE@[4; 11) | 5 | USE_TREE@[4; 11) |
6 | PATH@[4; 11) | 6 | PATH@[4; 11) |
7 | PATH@[4; 7) | 7 | PATH@[4; 7) |
8 | PATH_SEGMENT@[4; 7) | 8 | PATH_SEGMENT@[4; 7) |
9 | NAME_REF@[4; 7) | 9 | NAME_REF@[4; 7) |
10 | IDENT@[4; 7) "foo" | 10 | IDENT@[4; 7) "foo" |
11 | COLONCOLON@[7; 9) | 11 | COLONCOLON@[7; 9) "::" |
12 | err: `expected identifier` | 12 | err: `expected identifier` |
13 | PATH_SEGMENT@[9; 11) | 13 | PATH_SEGMENT@[9; 11) |
14 | ERROR@[9; 11) | 14 | ERROR@[9; 11) |
15 | INT_NUMBER@[9; 11) "92" | 15 | INT_NUMBER@[9; 11) "92" |
16 | SEMI@[11; 12) | 16 | SEMI@[11; 12) ";" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0005_attribute_recover.txt b/crates/ra_syntax/tests/data/parser/err/0005_attribute_recover.txt index 381a7d6dd..1e27522bf 100644 --- a/crates/ra_syntax/tests/data/parser/err/0005_attribute_recover.txt +++ b/crates/ra_syntax/tests/data/parser/err/0005_attribute_recover.txt | |||
@@ -1,55 +1,55 @@ | |||
1 | SOURCE_FILE@[0; 54) | 1 | SOURCE_FILE@[0; 54) |
2 | FN_DEF@[0; 31) | 2 | FN_DEF@[0; 31) |
3 | ATTR@[0; 18) | 3 | ATTR@[0; 18) |
4 | POUND@[0; 1) | 4 | POUND@[0; 1) "#" |
5 | TOKEN_TREE@[1; 18) | 5 | TOKEN_TREE@[1; 18) |
6 | L_BRACK@[1; 2) | 6 | L_BRACK@[1; 2) "[" |
7 | IDENT@[2; 5) "foo" | 7 | IDENT@[2; 5) "foo" |
8 | TOKEN_TREE@[5; 17) | 8 | TOKEN_TREE@[5; 17) |
9 | L_PAREN@[5; 6) | 9 | L_PAREN@[5; 6) "(" |
10 | IDENT@[6; 9) "foo" | 10 | IDENT@[6; 9) "foo" |
11 | COMMA@[9; 10) | 11 | COMMA@[9; 10) "," |
12 | WHITESPACE@[10; 11) | 12 | WHITESPACE@[10; 11) " " |
13 | PLUS@[11; 12) | 13 | PLUS@[11; 12) "+" |
14 | COMMA@[12; 13) | 14 | COMMA@[12; 13) "," |
15 | WHITESPACE@[13; 14) | 15 | WHITESPACE@[13; 14) " " |
16 | INT_NUMBER@[14; 16) "92" | 16 | INT_NUMBER@[14; 16) "92" |
17 | R_PAREN@[16; 17) | 17 | R_PAREN@[16; 17) ")" |
18 | R_BRACK@[17; 18) | 18 | R_BRACK@[17; 18) "]" |
19 | WHITESPACE@[18; 19) | 19 | WHITESPACE@[18; 19) "\n" |
20 | FN_KW@[19; 21) | 20 | FN_KW@[19; 21) "fn" |
21 | WHITESPACE@[21; 22) | 21 | WHITESPACE@[21; 22) " " |
22 | NAME@[22; 25) | 22 | NAME@[22; 25) |
23 | IDENT@[22; 25) "foo" | 23 | IDENT@[22; 25) "foo" |
24 | PARAM_LIST@[25; 27) | 24 | PARAM_LIST@[25; 27) |
25 | L_PAREN@[25; 26) | 25 | L_PAREN@[25; 26) "(" |
26 | R_PAREN@[26; 27) | 26 | R_PAREN@[26; 27) ")" |
27 | WHITESPACE@[27; 28) | 27 | WHITESPACE@[27; 28) " " |
28 | BLOCK@[28; 31) | 28 | BLOCK@[28; 31) |
29 | L_CURLY@[28; 29) | 29 | L_CURLY@[28; 29) "{" |
30 | WHITESPACE@[29; 30) | 30 | WHITESPACE@[29; 30) "\n" |
31 | R_CURLY@[30; 31) | 31 | R_CURLY@[30; 31) "}" |
32 | WHITESPACE@[31; 34) | 32 | WHITESPACE@[31; 34) "\n\n\n" |
33 | ATTR@[34; 53) | 33 | ATTR@[34; 53) |
34 | POUND@[34; 35) | 34 | POUND@[34; 35) "#" |
35 | TOKEN_TREE@[35; 53) | 35 | TOKEN_TREE@[35; 53) |
36 | L_BRACK@[35; 36) | 36 | L_BRACK@[35; 36) "[" |
37 | IDENT@[36; 39) "foo" | 37 | IDENT@[36; 39) "foo" |
38 | TOKEN_TREE@[39; 53) | 38 | TOKEN_TREE@[39; 53) |
39 | L_PAREN@[39; 40) | 39 | L_PAREN@[39; 40) "(" |
40 | WHITESPACE@[40; 41) | 40 | WHITESPACE@[40; 41) "\n" |
41 | FN_KW@[41; 43) | 41 | FN_KW@[41; 43) "fn" |
42 | WHITESPACE@[43; 44) | 42 | WHITESPACE@[43; 44) " " |
43 | IDENT@[44; 47) "foo" | 43 | IDENT@[44; 47) "foo" |
44 | TOKEN_TREE@[47; 49) | 44 | TOKEN_TREE@[47; 49) |
45 | L_PAREN@[47; 48) | 45 | L_PAREN@[47; 48) "(" |
46 | R_PAREN@[48; 49) | 46 | R_PAREN@[48; 49) ")" |
47 | WHITESPACE@[49; 50) | 47 | WHITESPACE@[49; 50) " " |
48 | TOKEN_TREE@[50; 53) | 48 | TOKEN_TREE@[50; 53) |
49 | L_CURLY@[50; 51) | 49 | L_CURLY@[50; 51) "{" |
50 | WHITESPACE@[51; 52) | 50 | WHITESPACE@[51; 52) "\n" |
51 | R_CURLY@[52; 53) | 51 | R_CURLY@[52; 53) "}" |
52 | err: `expected R_PAREN` | 52 | err: `expected R_PAREN` |
53 | err: `expected R_BRACK` | 53 | err: `expected R_BRACK` |
54 | err: `expected an item` | 54 | err: `expected an item` |
55 | WHITESPACE@[53; 54) | 55 | WHITESPACE@[53; 54) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0006_named_field_recovery.txt b/crates/ra_syntax/tests/data/parser/err/0006_named_field_recovery.txt index 02f832fb7..d47b98ed4 100644 --- a/crates/ra_syntax/tests/data/parser/err/0006_named_field_recovery.txt +++ b/crates/ra_syntax/tests/data/parser/err/0006_named_field_recovery.txt | |||
@@ -1,74 +1,74 @@ | |||
1 | SOURCE_FILE@[0; 74) | 1 | SOURCE_FILE@[0; 74) |
2 | STRUCT_DEF@[0; 73) | 2 | STRUCT_DEF@[0; 73) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) "struct" |
4 | WHITESPACE@[6; 7) | 4 | WHITESPACE@[6; 7) " " |
5 | NAME@[7; 8) | 5 | NAME@[7; 8) |
6 | IDENT@[7; 8) "S" | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | 7 | WHITESPACE@[8; 9) " " |
8 | NAMED_FIELD_DEF_LIST@[9; 73) | 8 | NAMED_FIELD_DEF_LIST@[9; 73) |
9 | L_CURLY@[9; 10) | 9 | L_CURLY@[9; 10) "{" |
10 | WHITESPACE@[10; 15) | 10 | WHITESPACE@[10; 15) "\n " |
11 | NAMED_FIELD_DEF@[15; 21) | 11 | NAMED_FIELD_DEF@[15; 21) |
12 | NAME@[15; 16) | 12 | NAME@[15; 16) |
13 | IDENT@[15; 16) "f" | 13 | IDENT@[15; 16) "f" |
14 | COLON@[16; 17) | 14 | COLON@[16; 17) ":" |
15 | WHITESPACE@[17; 18) | 15 | WHITESPACE@[17; 18) " " |
16 | PATH_TYPE@[18; 21) | 16 | PATH_TYPE@[18; 21) |
17 | PATH@[18; 21) | 17 | PATH@[18; 21) |
18 | PATH_SEGMENT@[18; 21) | 18 | PATH_SEGMENT@[18; 21) |
19 | NAME_REF@[18; 21) | 19 | NAME_REF@[18; 21) |
20 | IDENT@[18; 21) "u32" | 20 | IDENT@[18; 21) "u32" |
21 | COMMA@[21; 22) | 21 | COMMA@[21; 22) "," |
22 | WHITESPACE@[22; 27) | 22 | WHITESPACE@[22; 27) "\n " |
23 | VISIBILITY@[27; 30) | 23 | VISIBILITY@[27; 30) |
24 | PUB_KW@[27; 30) | 24 | PUB_KW@[27; 30) "pub" |
25 | WHITESPACE@[30; 31) | 25 | WHITESPACE@[30; 31) " " |
26 | err: `expected field declaration` | 26 | err: `expected field declaration` |
27 | ERROR@[31; 33) | 27 | ERROR@[31; 33) |
28 | INT_NUMBER@[31; 33) "92" | 28 | INT_NUMBER@[31; 33) "92" |
29 | err: `expected COMMA` | 29 | err: `expected COMMA` |
30 | WHITESPACE@[33; 38) | 30 | WHITESPACE@[33; 38) "\n " |
31 | err: `expected field declaration` | 31 | err: `expected field declaration` |
32 | ERROR@[38; 39) | 32 | ERROR@[38; 39) |
33 | PLUS@[38; 39) | 33 | PLUS@[38; 39) "+" |
34 | err: `expected COMMA` | 34 | err: `expected COMMA` |
35 | WHITESPACE@[39; 40) | 35 | WHITESPACE@[39; 40) " " |
36 | err: `expected field declaration` | 36 | err: `expected field declaration` |
37 | ERROR@[40; 41) | 37 | ERROR@[40; 41) |
38 | MINUS@[40; 41) | 38 | MINUS@[40; 41) "-" |
39 | err: `expected COMMA` | 39 | err: `expected COMMA` |
40 | WHITESPACE@[41; 42) | 40 | WHITESPACE@[41; 42) " " |
41 | err: `expected field declaration` | 41 | err: `expected field declaration` |
42 | ERROR@[42; 43) | 42 | ERROR@[42; 43) |
43 | STAR@[42; 43) | 43 | STAR@[42; 43) "*" |
44 | err: `expected COMMA` | 44 | err: `expected COMMA` |
45 | WHITESPACE@[43; 48) | 45 | WHITESPACE@[43; 48) "\n " |
46 | NAMED_FIELD_DEF@[48; 58) | 46 | NAMED_FIELD_DEF@[48; 58) |
47 | VISIBILITY@[48; 51) | 47 | VISIBILITY@[48; 51) |
48 | PUB_KW@[48; 51) | 48 | PUB_KW@[48; 51) "pub" |
49 | WHITESPACE@[51; 52) | 49 | WHITESPACE@[51; 52) " " |
50 | NAME@[52; 53) | 50 | NAME@[52; 53) |
51 | IDENT@[52; 53) "x" | 51 | IDENT@[52; 53) "x" |
52 | COLON@[53; 54) | 52 | COLON@[53; 54) ":" |
53 | WHITESPACE@[54; 55) | 53 | WHITESPACE@[54; 55) " " |
54 | PATH_TYPE@[55; 58) | 54 | PATH_TYPE@[55; 58) |
55 | PATH@[55; 58) | 55 | PATH@[55; 58) |
56 | PATH_SEGMENT@[55; 58) | 56 | PATH_SEGMENT@[55; 58) |
57 | NAME_REF@[55; 58) | 57 | NAME_REF@[55; 58) |
58 | IDENT@[55; 58) "u32" | 58 | IDENT@[55; 58) "u32" |
59 | COMMA@[58; 59) | 59 | COMMA@[58; 59) "," |
60 | WHITESPACE@[59; 64) | 60 | WHITESPACE@[59; 64) "\n " |
61 | NAMED_FIELD_DEF@[64; 70) | 61 | NAMED_FIELD_DEF@[64; 70) |
62 | NAME@[64; 65) | 62 | NAME@[64; 65) |
63 | IDENT@[64; 65) "z" | 63 | IDENT@[64; 65) "z" |
64 | COLON@[65; 66) | 64 | COLON@[65; 66) ":" |
65 | WHITESPACE@[66; 67) | 65 | WHITESPACE@[66; 67) " " |
66 | PATH_TYPE@[67; 70) | 66 | PATH_TYPE@[67; 70) |
67 | PATH@[67; 70) | 67 | PATH@[67; 70) |
68 | PATH_SEGMENT@[67; 70) | 68 | PATH_SEGMENT@[67; 70) |
69 | NAME_REF@[67; 70) | 69 | NAME_REF@[67; 70) |
70 | IDENT@[67; 70) "f64" | 70 | IDENT@[67; 70) "f64" |
71 | COMMA@[70; 71) | 71 | COMMA@[70; 71) "," |
72 | WHITESPACE@[71; 72) | 72 | WHITESPACE@[71; 72) "\n" |
73 | R_CURLY@[72; 73) | 73 | R_CURLY@[72; 73) "}" |
74 | WHITESPACE@[73; 74) | 74 | WHITESPACE@[73; 74) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0007_stray_curly_in_file.txt b/crates/ra_syntax/tests/data/parser/err/0007_stray_curly_in_file.txt index d46f753ad..94066ed05 100644 --- a/crates/ra_syntax/tests/data/parser/err/0007_stray_curly_in_file.txt +++ b/crates/ra_syntax/tests/data/parser/err/0007_stray_curly_in_file.txt | |||
@@ -1,32 +1,32 @@ | |||
1 | SOURCE_FILE@[0; 31) | 1 | SOURCE_FILE@[0; 31) |
2 | ERROR@[0; 1) | 2 | ERROR@[0; 1) |
3 | R_CURLY@[0; 1) | 3 | R_CURLY@[0; 1) "}" |
4 | err: `unmatched `}`` | 4 | err: `unmatched `}`` |
5 | WHITESPACE@[1; 3) | 5 | WHITESPACE@[1; 3) "\n\n" |
6 | STRUCT_DEF@[3; 12) | 6 | STRUCT_DEF@[3; 12) |
7 | STRUCT_KW@[3; 9) | 7 | STRUCT_KW@[3; 9) "struct" |
8 | WHITESPACE@[9; 10) | 8 | WHITESPACE@[9; 10) " " |
9 | NAME@[10; 11) | 9 | NAME@[10; 11) |
10 | IDENT@[10; 11) "S" | 10 | IDENT@[10; 11) "S" |
11 | SEMI@[11; 12) | 11 | SEMI@[11; 12) ";" |
12 | WHITESPACE@[12; 14) | 12 | WHITESPACE@[12; 14) "\n\n" |
13 | err: `unmatched `}`` | 13 | err: `unmatched `}`` |
14 | ERROR@[14; 15) | 14 | ERROR@[14; 15) |
15 | R_CURLY@[14; 15) | 15 | R_CURLY@[14; 15) "}" |
16 | WHITESPACE@[15; 17) | 16 | WHITESPACE@[15; 17) "\n\n" |
17 | FN_DEF@[17; 27) | 17 | FN_DEF@[17; 27) |
18 | FN_KW@[17; 19) | 18 | FN_KW@[17; 19) "fn" |
19 | WHITESPACE@[19; 20) | 19 | WHITESPACE@[19; 20) " " |
20 | NAME@[20; 23) | 20 | NAME@[20; 23) |
21 | IDENT@[20; 23) "foo" | 21 | IDENT@[20; 23) "foo" |
22 | PARAM_LIST@[23; 25) | 22 | PARAM_LIST@[23; 25) |
23 | L_PAREN@[23; 24) | 23 | L_PAREN@[23; 24) "(" |
24 | R_PAREN@[24; 25) | 24 | R_PAREN@[24; 25) ")" |
25 | BLOCK@[25; 27) | 25 | BLOCK@[25; 27) |
26 | L_CURLY@[25; 26) | 26 | L_CURLY@[25; 26) "{" |
27 | R_CURLY@[26; 27) | 27 | R_CURLY@[26; 27) "}" |
28 | WHITESPACE@[27; 29) | 28 | WHITESPACE@[27; 29) "\n\n" |
29 | err: `unmatched `}`` | 29 | err: `unmatched `}`` |
30 | ERROR@[29; 30) | 30 | ERROR@[29; 30) |
31 | R_CURLY@[29; 30) | 31 | R_CURLY@[29; 30) "}" |
32 | WHITESPACE@[30; 31) | 32 | WHITESPACE@[30; 31) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0008_item_block_recovery.txt b/crates/ra_syntax/tests/data/parser/err/0008_item_block_recovery.txt index 870c818ae..6f5a27856 100644 --- a/crates/ra_syntax/tests/data/parser/err/0008_item_block_recovery.txt +++ b/crates/ra_syntax/tests/data/parser/err/0008_item_block_recovery.txt | |||
@@ -1,18 +1,18 @@ | |||
1 | SOURCE_FILE@[0; 95) | 1 | SOURCE_FILE@[0; 95) |
2 | FN_DEF@[0; 12) | 2 | FN_DEF@[0; 12) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 6) | 5 | NAME@[3; 6) |
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | PARAM_LIST@[6; 8) | 7 | PARAM_LIST@[6; 8) |
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) "(" |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) ")" |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) " " |
11 | BLOCK@[9; 12) | 11 | BLOCK@[9; 12) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) "{" |
13 | WHITESPACE@[10; 11) | 13 | WHITESPACE@[10; 11) "\n" |
14 | R_CURLY@[11; 12) | 14 | R_CURLY@[11; 12) "}" |
15 | WHITESPACE@[12; 14) | 15 | WHITESPACE@[12; 14) "\n\n" |
16 | MACRO_CALL@[14; 19) | 16 | MACRO_CALL@[14; 19) |
17 | PATH@[14; 17) | 17 | PATH@[14; 17) |
18 | PATH_SEGMENT@[14; 17) | 18 | PATH_SEGMENT@[14; 17) |
@@ -20,58 +20,58 @@ SOURCE_FILE@[0; 95) | |||
20 | IDENT@[14; 17) "bar" | 20 | IDENT@[14; 17) "bar" |
21 | err: `expected EXCL` | 21 | err: `expected EXCL` |
22 | TOKEN_TREE@[17; 19) | 22 | TOKEN_TREE@[17; 19) |
23 | L_PAREN@[17; 18) | 23 | L_PAREN@[17; 18) "(" |
24 | R_PAREN@[18; 19) | 24 | R_PAREN@[18; 19) ")" |
25 | err: `expected SEMI` | 25 | err: `expected SEMI` |
26 | WHITESPACE@[19; 20) | 26 | WHITESPACE@[19; 20) " " |
27 | err: `expected an item` | 27 | err: `expected an item` |
28 | ERROR@[20; 80) | 28 | ERROR@[20; 80) |
29 | L_CURLY@[20; 21) | 29 | L_CURLY@[20; 21) "{" |
30 | WHITESPACE@[21; 26) | 30 | WHITESPACE@[21; 26) "\n " |
31 | IF_EXPR@[26; 78) | 31 | IF_EXPR@[26; 78) |
32 | IF_KW@[26; 28) | 32 | IF_KW@[26; 28) "if" |
33 | WHITESPACE@[28; 29) | 33 | WHITESPACE@[28; 29) " " |
34 | CONDITION@[29; 33) | 34 | CONDITION@[29; 33) |
35 | LITERAL@[29; 33) | 35 | LITERAL@[29; 33) |
36 | TRUE_KW@[29; 33) | 36 | TRUE_KW@[29; 33) "true" |
37 | WHITESPACE@[33; 34) | 37 | WHITESPACE@[33; 34) " " |
38 | BLOCK@[34; 51) | 38 | BLOCK@[34; 51) |
39 | L_CURLY@[34; 35) | 39 | L_CURLY@[34; 35) "{" |
40 | WHITESPACE@[35; 44) | 40 | WHITESPACE@[35; 44) "\n " |
41 | LITERAL@[44; 45) | 41 | LITERAL@[44; 45) |
42 | INT_NUMBER@[44; 45) "1" | 42 | INT_NUMBER@[44; 45) "1" |
43 | WHITESPACE@[45; 50) | 43 | WHITESPACE@[45; 50) "\n " |
44 | R_CURLY@[50; 51) | 44 | R_CURLY@[50; 51) "}" |
45 | WHITESPACE@[51; 52) | 45 | WHITESPACE@[51; 52) " " |
46 | ELSE_KW@[52; 56) | 46 | ELSE_KW@[52; 56) "else" |
47 | WHITESPACE@[56; 57) | 47 | WHITESPACE@[56; 57) " " |
48 | BLOCK@[57; 78) | 48 | BLOCK@[57; 78) |
49 | L_CURLY@[57; 58) | 49 | L_CURLY@[57; 58) "{" |
50 | WHITESPACE@[58; 67) | 50 | WHITESPACE@[58; 67) "\n " |
51 | BIN_EXPR@[67; 72) | 51 | BIN_EXPR@[67; 72) |
52 | LITERAL@[67; 68) | 52 | LITERAL@[67; 68) |
53 | INT_NUMBER@[67; 68) "2" | 53 | INT_NUMBER@[67; 68) "2" |
54 | WHITESPACE@[68; 69) | 54 | WHITESPACE@[68; 69) " " |
55 | PLUS@[69; 70) | 55 | PLUS@[69; 70) "+" |
56 | WHITESPACE@[70; 71) | 56 | WHITESPACE@[70; 71) " " |
57 | LITERAL@[71; 72) | 57 | LITERAL@[71; 72) |
58 | INT_NUMBER@[71; 72) "3" | 58 | INT_NUMBER@[71; 72) "3" |
59 | WHITESPACE@[72; 77) | 59 | WHITESPACE@[72; 77) "\n " |
60 | R_CURLY@[77; 78) | 60 | R_CURLY@[77; 78) "}" |
61 | WHITESPACE@[78; 79) | 61 | WHITESPACE@[78; 79) "\n" |
62 | R_CURLY@[79; 80) | 62 | R_CURLY@[79; 80) "}" |
63 | WHITESPACE@[80; 82) | 63 | WHITESPACE@[80; 82) "\n\n" |
64 | FN_DEF@[82; 94) | 64 | FN_DEF@[82; 94) |
65 | FN_KW@[82; 84) | 65 | FN_KW@[82; 84) "fn" |
66 | WHITESPACE@[84; 85) | 66 | WHITESPACE@[84; 85) " " |
67 | NAME@[85; 88) | 67 | NAME@[85; 88) |
68 | IDENT@[85; 88) "baz" | 68 | IDENT@[85; 88) "baz" |
69 | PARAM_LIST@[88; 90) | 69 | PARAM_LIST@[88; 90) |
70 | L_PAREN@[88; 89) | 70 | L_PAREN@[88; 89) "(" |
71 | R_PAREN@[89; 90) | 71 | R_PAREN@[89; 90) ")" |
72 | WHITESPACE@[90; 91) | 72 | WHITESPACE@[90; 91) " " |
73 | BLOCK@[91; 94) | 73 | BLOCK@[91; 94) |
74 | L_CURLY@[91; 92) | 74 | L_CURLY@[91; 92) "{" |
75 | WHITESPACE@[92; 93) | 75 | WHITESPACE@[92; 93) "\n" |
76 | R_CURLY@[93; 94) | 76 | R_CURLY@[93; 94) "}" |
77 | WHITESPACE@[94; 95) | 77 | WHITESPACE@[94; 95) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0009_broken_struct_type_parameter.txt b/crates/ra_syntax/tests/data/parser/err/0009_broken_struct_type_parameter.txt index 26c5d395c..80568b5bd 100644 --- a/crates/ra_syntax/tests/data/parser/err/0009_broken_struct_type_parameter.txt +++ b/crates/ra_syntax/tests/data/parser/err/0009_broken_struct_type_parameter.txt | |||
@@ -1,33 +1,33 @@ | |||
1 | SOURCE_FILE@[0; 43) | 1 | SOURCE_FILE@[0; 43) |
2 | STRUCT_DEF@[0; 11) | 2 | STRUCT_DEF@[0; 11) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) "struct" |
4 | WHITESPACE@[6; 7) | 4 | WHITESPACE@[6; 7) " " |
5 | NAME@[7; 8) | 5 | NAME@[7; 8) |
6 | IDENT@[7; 8) "S" | 6 | IDENT@[7; 8) "S" |
7 | TYPE_PARAM_LIST@[8; 11) | 7 | TYPE_PARAM_LIST@[8; 11) |
8 | L_ANGLE@[8; 9) | 8 | L_ANGLE@[8; 9) "<" |
9 | err: `expected type parameter` | 9 | err: `expected type parameter` |
10 | ERROR@[9; 11) | 10 | ERROR@[9; 11) |
11 | INT_NUMBER@[9; 11) "90" | 11 | INT_NUMBER@[9; 11) "90" |
12 | err: `expected COMMA` | 12 | err: `expected COMMA` |
13 | err: `expected R_ANGLE` | 13 | err: `expected R_ANGLE` |
14 | err: `expected `;`, `{`, or `(`` | 14 | err: `expected `;`, `{`, or `(`` |
15 | WHITESPACE@[11; 12) | 15 | WHITESPACE@[11; 12) " " |
16 | err: `expected an item` | 16 | err: `expected an item` |
17 | ERROR@[12; 13) | 17 | ERROR@[12; 13) |
18 | PLUS@[12; 13) | 18 | PLUS@[12; 13) "+" |
19 | WHITESPACE@[13; 14) | 19 | WHITESPACE@[13; 14) " " |
20 | err: `expected an item` | 20 | err: `expected an item` |
21 | ERROR@[14; 15) | 21 | ERROR@[14; 15) |
22 | INT_NUMBER@[14; 15) "2" | 22 | INT_NUMBER@[14; 15) "2" |
23 | err: `expected an item` | 23 | err: `expected an item` |
24 | ERROR@[15; 16) | 24 | ERROR@[15; 16) |
25 | R_ANGLE@[15; 16) | 25 | R_ANGLE@[15; 16) ">" |
26 | WHITESPACE@[16; 17) | 26 | WHITESPACE@[16; 17) " " |
27 | err: `expected an item` | 27 | err: `expected an item` |
28 | ERROR@[17; 31) | 28 | ERROR@[17; 31) |
29 | L_CURLY@[17; 18) | 29 | L_CURLY@[17; 18) "{" |
30 | WHITESPACE@[18; 23) | 30 | WHITESPACE@[18; 23) "\n " |
31 | EXPR_STMT@[23; 24) | 31 | EXPR_STMT@[23; 24) |
32 | PATH_EXPR@[23; 24) | 32 | PATH_EXPR@[23; 24) |
33 | PATH@[23; 24) | 33 | PATH@[23; 24) |
@@ -38,21 +38,21 @@ SOURCE_FILE@[0; 43) | |||
38 | err: `expected expression` | 38 | err: `expected expression` |
39 | EXPR_STMT@[24; 25) | 39 | EXPR_STMT@[24; 25) |
40 | ERROR@[24; 25) | 40 | ERROR@[24; 25) |
41 | COLON@[24; 25) | 41 | COLON@[24; 25) ":" |
42 | err: `expected SEMI` | 42 | err: `expected SEMI` |
43 | WHITESPACE@[25; 26) | 43 | WHITESPACE@[25; 26) " " |
44 | PATH_EXPR@[26; 29) | 44 | PATH_EXPR@[26; 29) |
45 | PATH@[26; 29) | 45 | PATH@[26; 29) |
46 | PATH_SEGMENT@[26; 29) | 46 | PATH_SEGMENT@[26; 29) |
47 | NAME_REF@[26; 29) | 47 | NAME_REF@[26; 29) |
48 | IDENT@[26; 29) "u32" | 48 | IDENT@[26; 29) "u32" |
49 | WHITESPACE@[29; 30) | 49 | WHITESPACE@[29; 30) "\n" |
50 | R_CURLY@[30; 31) | 50 | R_CURLY@[30; 31) "}" |
51 | WHITESPACE@[31; 33) | 51 | WHITESPACE@[31; 33) "\n\n" |
52 | STRUCT_DEF@[33; 42) | 52 | STRUCT_DEF@[33; 42) |
53 | STRUCT_KW@[33; 39) | 53 | STRUCT_KW@[33; 39) "struct" |
54 | WHITESPACE@[39; 40) | 54 | WHITESPACE@[39; 40) " " |
55 | NAME@[40; 41) | 55 | NAME@[40; 41) |
56 | IDENT@[40; 41) "T" | 56 | IDENT@[40; 41) "T" |
57 | SEMI@[41; 42) | 57 | SEMI@[41; 42) ";" |
58 | WHITESPACE@[42; 43) | 58 | WHITESPACE@[42; 43) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0010_unsafe_lambda_block.txt b/crates/ra_syntax/tests/data/parser/err/0010_unsafe_lambda_block.txt index e6794a2a0..36982085a 100644 --- a/crates/ra_syntax/tests/data/parser/err/0010_unsafe_lambda_block.txt +++ b/crates/ra_syntax/tests/data/parser/err/0010_unsafe_lambda_block.txt | |||
@@ -1,42 +1,42 @@ | |||
1 | SOURCE_FILE@[0; 42) | 1 | SOURCE_FILE@[0; 42) |
2 | FN_DEF@[0; 41) | 2 | FN_DEF@[0; 41) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 7) | 5 | NAME@[3; 7) |
6 | IDENT@[3; 7) "main" | 6 | IDENT@[3; 7) "main" |
7 | PARAM_LIST@[7; 9) | 7 | PARAM_LIST@[7; 9) |
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) "(" |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) ")" |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) " " |
11 | BLOCK@[10; 41) | 11 | BLOCK@[10; 41) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) "{" |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) "\n " |
14 | EXPR_STMT@[16; 39) | 14 | EXPR_STMT@[16; 39) |
15 | LAMBDA_EXPR@[16; 38) | 15 | LAMBDA_EXPR@[16; 38) |
16 | PARAM_LIST@[16; 18) | 16 | PARAM_LIST@[16; 18) |
17 | PIPE@[16; 17) | 17 | PIPE@[16; 17) "|" |
18 | PIPE@[17; 18) | 18 | PIPE@[17; 18) "|" |
19 | WHITESPACE@[18; 19) | 19 | WHITESPACE@[18; 19) " " |
20 | RET_TYPE@[19; 24) | 20 | RET_TYPE@[19; 24) |
21 | THIN_ARROW@[19; 21) | 21 | THIN_ARROW@[19; 21) "->" |
22 | WHITESPACE@[21; 22) | 22 | WHITESPACE@[21; 22) " " |
23 | TUPLE_TYPE@[22; 24) | 23 | TUPLE_TYPE@[22; 24) |
24 | L_PAREN@[22; 23) | 24 | L_PAREN@[22; 23) "(" |
25 | R_PAREN@[23; 24) | 25 | R_PAREN@[23; 24) ")" |
26 | err: `expected `{`` | 26 | err: `expected `{`` |
27 | WHITESPACE@[24; 25) | 27 | WHITESPACE@[24; 25) " " |
28 | BLOCK_EXPR@[25; 38) | 28 | BLOCK_EXPR@[25; 38) |
29 | UNSAFE_KW@[25; 31) | 29 | UNSAFE_KW@[25; 31) "unsafe" |
30 | WHITESPACE@[31; 32) | 30 | WHITESPACE@[31; 32) " " |
31 | BLOCK@[32; 38) | 31 | BLOCK@[32; 38) |
32 | L_CURLY@[32; 33) | 32 | L_CURLY@[32; 33) "{" |
33 | WHITESPACE@[33; 34) | 33 | WHITESPACE@[33; 34) " " |
34 | TUPLE_EXPR@[34; 36) | 34 | TUPLE_EXPR@[34; 36) |
35 | L_PAREN@[34; 35) | 35 | L_PAREN@[34; 35) "(" |
36 | R_PAREN@[35; 36) | 36 | R_PAREN@[35; 36) ")" |
37 | WHITESPACE@[36; 37) | 37 | WHITESPACE@[36; 37) " " |
38 | R_CURLY@[37; 38) | 38 | R_CURLY@[37; 38) "}" |
39 | SEMI@[38; 39) | 39 | SEMI@[38; 39) ";" |
40 | WHITESPACE@[39; 40) | 40 | WHITESPACE@[39; 40) "\n" |
41 | R_CURLY@[40; 41) | 41 | R_CURLY@[40; 41) "}" |
42 | WHITESPACE@[41; 42) | 42 | WHITESPACE@[41; 42) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0011_extern_struct.txt b/crates/ra_syntax/tests/data/parser/err/0011_extern_struct.txt index a65cecde5..3fb0a77ef 100644 --- a/crates/ra_syntax/tests/data/parser/err/0011_extern_struct.txt +++ b/crates/ra_syntax/tests/data/parser/err/0011_extern_struct.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | SOURCE_FILE@[0; 19) | 1 | SOURCE_FILE@[0; 19) |
2 | ERROR@[0; 6) | 2 | ERROR@[0; 6) |
3 | ABI@[0; 6) | 3 | ABI@[0; 6) |
4 | EXTERN_KW@[0; 6) | 4 | EXTERN_KW@[0; 6) "extern" |
5 | err: `expected fn, trait or impl` | 5 | err: `expected fn, trait or impl` |
6 | WHITESPACE@[6; 7) | 6 | WHITESPACE@[6; 7) " " |
7 | STRUCT_DEF@[7; 18) | 7 | STRUCT_DEF@[7; 18) |
8 | STRUCT_KW@[7; 13) | 8 | STRUCT_KW@[7; 13) "struct" |
9 | WHITESPACE@[13; 14) | 9 | WHITESPACE@[13; 14) " " |
10 | NAME@[14; 17) | 10 | NAME@[14; 17) |
11 | IDENT@[14; 17) "Foo" | 11 | IDENT@[14; 17) "Foo" |
12 | SEMI@[17; 18) | 12 | SEMI@[17; 18) ";" |
13 | WHITESPACE@[18; 19) | 13 | WHITESPACE@[18; 19) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0013_invalid_type.txt b/crates/ra_syntax/tests/data/parser/err/0013_invalid_type.txt index 1ec15194c..47b992b0a 100644 --- a/crates/ra_syntax/tests/data/parser/err/0013_invalid_type.txt +++ b/crates/ra_syntax/tests/data/parser/err/0013_invalid_type.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | SOURCE_FILE@[0; 86) | 1 | SOURCE_FILE@[0; 86) |
2 | STRUCT_DEF@[0; 72) | 2 | STRUCT_DEF@[0; 72) |
3 | VISIBILITY@[0; 3) | 3 | VISIBILITY@[0; 3) |
4 | PUB_KW@[0; 3) | 4 | PUB_KW@[0; 3) "pub" |
5 | WHITESPACE@[3; 4) | 5 | WHITESPACE@[3; 4) " " |
6 | STRUCT_KW@[4; 10) | 6 | STRUCT_KW@[4; 10) "struct" |
7 | WHITESPACE@[10; 11) | 7 | WHITESPACE@[10; 11) " " |
8 | NAME@[11; 16) | 8 | NAME@[11; 16) |
9 | IDENT@[11; 16) "Cache" | 9 | IDENT@[11; 16) "Cache" |
10 | POS_FIELD_DEF_LIST@[16; 72) | 10 | POS_FIELD_DEF_LIST@[16; 72) |
11 | L_PAREN@[16; 17) | 11 | L_PAREN@[16; 17) "(" |
12 | WHITESPACE@[17; 22) | 12 | WHITESPACE@[17; 22) "\n " |
13 | POS_FIELD_DEF@[22; 68) | 13 | POS_FIELD_DEF@[22; 68) |
14 | PATH_TYPE@[22; 68) | 14 | PATH_TYPE@[22; 68) |
15 | PATH@[22; 68) | 15 | PATH@[22; 68) |
@@ -17,7 +17,7 @@ SOURCE_FILE@[0; 86) | |||
17 | NAME_REF@[22; 29) | 17 | NAME_REF@[22; 29) |
18 | IDENT@[22; 29) "RefCell" | 18 | IDENT@[22; 29) "RefCell" |
19 | TYPE_ARG_LIST@[29; 68) | 19 | TYPE_ARG_LIST@[29; 68) |
20 | L_ANGLE@[29; 30) | 20 | L_ANGLE@[29; 30) "<" |
21 | TYPE_ARG@[30; 68) | 21 | TYPE_ARG@[30; 68) |
22 | PATH_TYPE@[30; 68) | 22 | PATH_TYPE@[30; 68) |
23 | PATH@[30; 68) | 23 | PATH@[30; 68) |
@@ -25,16 +25,16 @@ SOURCE_FILE@[0; 86) | |||
25 | NAME_REF@[30; 37) | 25 | NAME_REF@[30; 37) |
26 | IDENT@[30; 37) "HashMap" | 26 | IDENT@[30; 37) "HashMap" |
27 | TYPE_ARG_LIST@[37; 68) | 27 | TYPE_ARG_LIST@[37; 68) |
28 | L_ANGLE@[37; 38) | 28 | L_ANGLE@[37; 38) "<" |
29 | WHITESPACE@[38; 47) | 29 | WHITESPACE@[38; 47) "\n " |
30 | TYPE_ARG@[47; 53) | 30 | TYPE_ARG@[47; 53) |
31 | PATH_TYPE@[47; 53) | 31 | PATH_TYPE@[47; 53) |
32 | PATH@[47; 53) | 32 | PATH@[47; 53) |
33 | PATH_SEGMENT@[47; 53) | 33 | PATH_SEGMENT@[47; 53) |
34 | NAME_REF@[47; 53) | 34 | NAME_REF@[47; 53) |
35 | IDENT@[47; 53) "TypeId" | 35 | IDENT@[47; 53) "TypeId" |
36 | COMMA@[53; 54) | 36 | COMMA@[53; 54) "," |
37 | WHITESPACE@[54; 63) | 37 | WHITESPACE@[54; 63) "\n " |
38 | TYPE_ARG@[63; 68) | 38 | TYPE_ARG@[63; 68) |
39 | PATH_TYPE@[63; 68) | 39 | PATH_TYPE@[63; 68) |
40 | PATH@[63; 68) | 40 | PATH@[63; 68) |
@@ -42,11 +42,11 @@ SOURCE_FILE@[0; 86) | |||
42 | NAME_REF@[63; 66) | 42 | NAME_REF@[63; 66) |
43 | IDENT@[63; 66) "Box" | 43 | IDENT@[63; 66) "Box" |
44 | TYPE_ARG_LIST@[66; 68) | 44 | TYPE_ARG_LIST@[66; 68) |
45 | L_ANGLE@[66; 67) | 45 | L_ANGLE@[66; 67) "<" |
46 | err: `expected type` | 46 | err: `expected type` |
47 | TYPE_ARG@[67; 68) | 47 | TYPE_ARG@[67; 68) |
48 | ERROR@[67; 68) | 48 | ERROR@[67; 68) |
49 | AT@[67; 68) | 49 | AT@[67; 68) "@" |
50 | err: `expected COMMA` | 50 | err: `expected COMMA` |
51 | err: `expected R_ANGLE` | 51 | err: `expected R_ANGLE` |
52 | err: `expected COMMA` | 52 | err: `expected COMMA` |
@@ -54,7 +54,7 @@ SOURCE_FILE@[0; 86) | |||
54 | err: `expected COMMA` | 54 | err: `expected COMMA` |
55 | err: `expected R_ANGLE` | 55 | err: `expected R_ANGLE` |
56 | err: `expected COMMA` | 56 | err: `expected COMMA` |
57 | WHITESPACE@[68; 69) | 57 | WHITESPACE@[68; 69) " " |
58 | POS_FIELD_DEF@[69; 72) | 58 | POS_FIELD_DEF@[69; 72) |
59 | PATH_TYPE@[69; 72) | 59 | PATH_TYPE@[69; 72) |
60 | PATH@[69; 72) | 60 | PATH@[69; 72) |
@@ -68,22 +68,22 @@ SOURCE_FILE@[0; 86) | |||
68 | err: `expected an item` | 68 | err: `expected an item` |
69 | ERROR@[72; 72) | 69 | ERROR@[72; 72) |
70 | ERROR@[72; 73) | 70 | ERROR@[72; 73) |
71 | R_ANGLE@[72; 73) | 71 | R_ANGLE@[72; 73) ">" |
72 | err: `expected an item` | 72 | err: `expected an item` |
73 | ERROR@[73; 74) | 73 | ERROR@[73; 74) |
74 | COMMA@[73; 74) | 74 | COMMA@[73; 74) "," |
75 | WHITESPACE@[74; 79) | 75 | WHITESPACE@[74; 79) "\n " |
76 | err: `expected an item` | 76 | err: `expected an item` |
77 | ERROR@[79; 80) | 77 | ERROR@[79; 80) |
78 | R_ANGLE@[79; 80) | 78 | R_ANGLE@[79; 80) ">" |
79 | err: `expected an item` | 79 | err: `expected an item` |
80 | ERROR@[80; 81) | 80 | ERROR@[80; 81) |
81 | R_ANGLE@[80; 81) | 81 | R_ANGLE@[80; 81) ">" |
82 | WHITESPACE@[81; 82) | 82 | WHITESPACE@[81; 82) "\n" |
83 | err: `expected an item` | 83 | err: `expected an item` |
84 | ERROR@[82; 83) | 84 | ERROR@[82; 83) |
85 | R_PAREN@[82; 83) | 85 | R_PAREN@[82; 83) ")" |
86 | err: `expected an item` | 86 | err: `expected an item` |
87 | ERROR@[83; 84) | 87 | ERROR@[83; 84) |
88 | SEMI@[83; 84) | 88 | SEMI@[83; 84) ";" |
89 | WHITESPACE@[84; 86) | 89 | WHITESPACE@[84; 86) "\n\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0014_where_no_bounds.txt b/crates/ra_syntax/tests/data/parser/err/0014_where_no_bounds.txt index a81772764..52ad7bef7 100644 --- a/crates/ra_syntax/tests/data/parser/err/0014_where_no_bounds.txt +++ b/crates/ra_syntax/tests/data/parser/err/0014_where_no_bounds.txt | |||
@@ -1,22 +1,22 @@ | |||
1 | SOURCE_FILE@[0; 23) | 1 | SOURCE_FILE@[0; 23) |
2 | FN_DEF@[0; 22) | 2 | FN_DEF@[0; 22) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 6) | 5 | NAME@[3; 6) |
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | TYPE_PARAM_LIST@[6; 9) | 7 | TYPE_PARAM_LIST@[6; 9) |
8 | L_ANGLE@[6; 7) | 8 | L_ANGLE@[6; 7) "<" |
9 | TYPE_PARAM@[7; 8) | 9 | TYPE_PARAM@[7; 8) |
10 | NAME@[7; 8) | 10 | NAME@[7; 8) |
11 | IDENT@[7; 8) "T" | 11 | IDENT@[7; 8) "T" |
12 | R_ANGLE@[8; 9) | 12 | R_ANGLE@[8; 9) ">" |
13 | PARAM_LIST@[9; 11) | 13 | PARAM_LIST@[9; 11) |
14 | L_PAREN@[9; 10) | 14 | L_PAREN@[9; 10) "(" |
15 | R_PAREN@[10; 11) | 15 | R_PAREN@[10; 11) ")" |
16 | WHITESPACE@[11; 12) | 16 | WHITESPACE@[11; 12) " " |
17 | WHERE_CLAUSE@[12; 19) | 17 | WHERE_CLAUSE@[12; 19) |
18 | WHERE_KW@[12; 17) | 18 | WHERE_KW@[12; 17) "where" |
19 | WHITESPACE@[17; 18) | 19 | WHITESPACE@[17; 18) " " |
20 | WHERE_PRED@[18; 19) | 20 | WHERE_PRED@[18; 19) |
21 | PATH_TYPE@[18; 19) | 21 | PATH_TYPE@[18; 19) |
22 | PATH@[18; 19) | 22 | PATH@[18; 19) |
@@ -24,8 +24,8 @@ SOURCE_FILE@[0; 23) | |||
24 | NAME_REF@[18; 19) | 24 | NAME_REF@[18; 19) |
25 | IDENT@[18; 19) "T" | 25 | IDENT@[18; 19) "T" |
26 | err: `expected colon` | 26 | err: `expected colon` |
27 | WHITESPACE@[19; 20) | 27 | WHITESPACE@[19; 20) " " |
28 | BLOCK@[20; 22) | 28 | BLOCK@[20; 22) |
29 | L_CURLY@[20; 21) | 29 | L_CURLY@[20; 21) "{" |
30 | R_CURLY@[21; 22) | 30 | R_CURLY@[21; 22) "}" |
31 | WHITESPACE@[22; 23) | 31 | WHITESPACE@[22; 23) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0015_curly_in_params.txt b/crates/ra_syntax/tests/data/parser/err/0015_curly_in_params.txt index e4d91109f..1350980f2 100644 --- a/crates/ra_syntax/tests/data/parser/err/0015_curly_in_params.txt +++ b/crates/ra_syntax/tests/data/parser/err/0015_curly_in_params.txt | |||
@@ -1,24 +1,24 @@ | |||
1 | SOURCE_FILE@[0; 14) | 1 | SOURCE_FILE@[0; 14) |
2 | FN_DEF@[0; 7) | 2 | FN_DEF@[0; 7) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 6) | 5 | NAME@[3; 6) |
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | PARAM_LIST@[6; 7) | 7 | PARAM_LIST@[6; 7) |
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) "(" |
9 | err: `expected value parameter` | 9 | err: `expected value parameter` |
10 | err: `expected R_PAREN` | 10 | err: `expected R_PAREN` |
11 | err: `expected a block` | 11 | err: `expected a block` |
12 | err: `unmatched `}`` | 12 | err: `unmatched `}`` |
13 | ERROR@[7; 8) | 13 | ERROR@[7; 8) |
14 | R_CURLY@[7; 8) | 14 | R_CURLY@[7; 8) "}" |
15 | err: `expected an item` | 15 | err: `expected an item` |
16 | ERROR@[8; 9) | 16 | ERROR@[8; 9) |
17 | R_PAREN@[8; 9) | 17 | R_PAREN@[8; 9) ")" |
18 | WHITESPACE@[9; 10) | 18 | WHITESPACE@[9; 10) " " |
19 | err: `expected an item` | 19 | err: `expected an item` |
20 | ERROR@[10; 13) | 20 | ERROR@[10; 13) |
21 | L_CURLY@[10; 11) | 21 | L_CURLY@[10; 11) "{" |
22 | WHITESPACE@[11; 12) | 22 | WHITESPACE@[11; 12) "\n" |
23 | R_CURLY@[12; 13) | 23 | R_CURLY@[12; 13) "}" |
24 | WHITESPACE@[13; 14) | 24 | WHITESPACE@[13; 14) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0016_missing_semi.txt b/crates/ra_syntax/tests/data/parser/err/0016_missing_semi.txt index 5b128caa2..dd60814a0 100644 --- a/crates/ra_syntax/tests/data/parser/err/0016_missing_semi.txt +++ b/crates/ra_syntax/tests/data/parser/err/0016_missing_semi.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | SOURCE_FILE@[0; 56) | 1 | SOURCE_FILE@[0; 56) |
2 | FN_DEF@[0; 55) | 2 | FN_DEF@[0; 55) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 6) | 5 | NAME@[3; 6) |
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | PARAM_LIST@[6; 8) | 7 | PARAM_LIST@[6; 8) |
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) "(" |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) ")" |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) " " |
11 | BLOCK@[9; 55) | 11 | BLOCK@[9; 55) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) "{" |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) "\n " |
14 | EXPR_STMT@[15; 38) | 14 | EXPR_STMT@[15; 38) |
15 | CALL_EXPR@[15; 38) | 15 | CALL_EXPR@[15; 38) |
16 | PATH_EXPR@[15; 18) | 16 | PATH_EXPR@[15; 18) |
@@ -19,25 +19,25 @@ SOURCE_FILE@[0; 56) | |||
19 | NAME_REF@[15; 18) | 19 | NAME_REF@[15; 18) |
20 | IDENT@[15; 18) "foo" | 20 | IDENT@[15; 18) "foo" |
21 | ARG_LIST@[18; 38) | 21 | ARG_LIST@[18; 38) |
22 | L_PAREN@[18; 19) | 22 | L_PAREN@[18; 19) "(" |
23 | WHITESPACE@[19; 28) | 23 | WHITESPACE@[19; 28) "\n " |
24 | LITERAL@[28; 29) | 24 | LITERAL@[28; 29) |
25 | INT_NUMBER@[28; 29) "1" | 25 | INT_NUMBER@[28; 29) "1" |
26 | COMMA@[29; 30) | 26 | COMMA@[29; 30) "," |
27 | WHITESPACE@[30; 31) | 27 | WHITESPACE@[30; 31) " " |
28 | LITERAL@[31; 32) | 28 | LITERAL@[31; 32) |
29 | INT_NUMBER@[31; 32) "2" | 29 | INT_NUMBER@[31; 32) "2" |
30 | WHITESPACE@[32; 37) | 30 | WHITESPACE@[32; 37) "\n " |
31 | R_PAREN@[37; 38) | 31 | R_PAREN@[37; 38) ")" |
32 | err: `expected SEMI` | 32 | err: `expected SEMI` |
33 | WHITESPACE@[38; 43) | 33 | WHITESPACE@[38; 43) "\n " |
34 | EXPR_STMT@[43; 53) | 34 | EXPR_STMT@[43; 53) |
35 | RETURN_EXPR@[43; 52) | 35 | RETURN_EXPR@[43; 52) |
36 | RETURN_KW@[43; 49) | 36 | RETURN_KW@[43; 49) "return" |
37 | WHITESPACE@[49; 50) | 37 | WHITESPACE@[49; 50) " " |
38 | LITERAL@[50; 52) | 38 | LITERAL@[50; 52) |
39 | INT_NUMBER@[50; 52) "92" | 39 | INT_NUMBER@[50; 52) "92" |
40 | SEMI@[52; 53) | 40 | SEMI@[52; 53) ";" |
41 | WHITESPACE@[53; 54) | 41 | WHITESPACE@[53; 54) "\n" |
42 | R_CURLY@[54; 55) | 42 | R_CURLY@[54; 55) "}" |
43 | WHITESPACE@[55; 56) | 43 | WHITESPACE@[55; 56) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0017_incomplete_binexpr.txt b/crates/ra_syntax/tests/data/parser/err/0017_incomplete_binexpr.txt index fbfdc2c44..f115eb1dd 100644 --- a/crates/ra_syntax/tests/data/parser/err/0017_incomplete_binexpr.txt +++ b/crates/ra_syntax/tests/data/parser/err/0017_incomplete_binexpr.txt | |||
@@ -1,46 +1,46 @@ | |||
1 | SOURCE_FILE@[0; 47) | 1 | SOURCE_FILE@[0; 47) |
2 | FN_DEF@[0; 46) | 2 | FN_DEF@[0; 46) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 6) | 5 | NAME@[3; 6) |
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | PARAM_LIST@[6; 16) | 7 | PARAM_LIST@[6; 16) |
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) "(" |
9 | PARAM@[7; 15) | 9 | PARAM@[7; 15) |
10 | BIND_PAT@[7; 10) | 10 | BIND_PAT@[7; 10) |
11 | NAME@[7; 10) | 11 | NAME@[7; 10) |
12 | IDENT@[7; 10) "foo" | 12 | IDENT@[7; 10) "foo" |
13 | COLON@[10; 11) | 13 | COLON@[10; 11) ":" |
14 | WHITESPACE@[11; 12) | 14 | WHITESPACE@[11; 12) " " |
15 | PATH_TYPE@[12; 15) | 15 | PATH_TYPE@[12; 15) |
16 | PATH@[12; 15) | 16 | PATH@[12; 15) |
17 | PATH_SEGMENT@[12; 15) | 17 | PATH_SEGMENT@[12; 15) |
18 | NAME_REF@[12; 15) | 18 | NAME_REF@[12; 15) |
19 | IDENT@[12; 15) "i32" | 19 | IDENT@[12; 15) "i32" |
20 | R_PAREN@[15; 16) | 20 | R_PAREN@[15; 16) ")" |
21 | WHITESPACE@[16; 17) | 21 | WHITESPACE@[16; 17) " " |
22 | BLOCK@[17; 46) | 22 | BLOCK@[17; 46) |
23 | L_CURLY@[17; 18) | 23 | L_CURLY@[17; 18) "{" |
24 | WHITESPACE@[18; 23) | 24 | WHITESPACE@[18; 23) "\n " |
25 | LET_STMT@[23; 36) | 25 | LET_STMT@[23; 36) |
26 | LET_KW@[23; 26) | 26 | LET_KW@[23; 26) "let" |
27 | WHITESPACE@[26; 27) | 27 | WHITESPACE@[26; 27) " " |
28 | BIND_PAT@[27; 30) | 28 | BIND_PAT@[27; 30) |
29 | NAME@[27; 30) | 29 | NAME@[27; 30) |
30 | IDENT@[27; 30) "bar" | 30 | IDENT@[27; 30) "bar" |
31 | WHITESPACE@[30; 31) | 31 | WHITESPACE@[30; 31) " " |
32 | EQ@[31; 32) | 32 | EQ@[31; 32) "=" |
33 | WHITESPACE@[32; 33) | 33 | WHITESPACE@[32; 33) " " |
34 | LITERAL@[33; 35) | 34 | LITERAL@[33; 35) |
35 | INT_NUMBER@[33; 35) "92" | 35 | INT_NUMBER@[33; 35) "92" |
36 | SEMI@[35; 36) | 36 | SEMI@[35; 36) ";" |
37 | WHITESPACE@[36; 41) | 37 | WHITESPACE@[36; 41) "\n " |
38 | BIN_EXPR@[41; 44) | 38 | BIN_EXPR@[41; 44) |
39 | LITERAL@[41; 42) | 39 | LITERAL@[41; 42) |
40 | INT_NUMBER@[41; 42) "1" | 40 | INT_NUMBER@[41; 42) "1" |
41 | WHITESPACE@[42; 43) | 41 | WHITESPACE@[42; 43) " " |
42 | PLUS@[43; 44) | 42 | PLUS@[43; 44) "+" |
43 | err: `expected expression` | 43 | err: `expected expression` |
44 | WHITESPACE@[44; 45) | 44 | WHITESPACE@[44; 45) "\n" |
45 | R_CURLY@[45; 46) | 45 | R_CURLY@[45; 46) "}" |
46 | WHITESPACE@[46; 47) | 46 | WHITESPACE@[46; 47) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0018_incomplete_fn.txt b/crates/ra_syntax/tests/data/parser/err/0018_incomplete_fn.txt index 262cbba1e..9996cf824 100644 --- a/crates/ra_syntax/tests/data/parser/err/0018_incomplete_fn.txt +++ b/crates/ra_syntax/tests/data/parser/err/0018_incomplete_fn.txt | |||
@@ -1,131 +1,131 @@ | |||
1 | SOURCE_FILE@[0; 183) | 1 | SOURCE_FILE@[0; 183) |
2 | IMPL_BLOCK@[0; 182) | 2 | IMPL_BLOCK@[0; 182) |
3 | IMPL_KW@[0; 4) | 3 | IMPL_KW@[0; 4) "impl" |
4 | WHITESPACE@[4; 5) | 4 | WHITESPACE@[4; 5) " " |
5 | PATH_TYPE@[5; 13) | 5 | PATH_TYPE@[5; 13) |
6 | PATH@[5; 13) | 6 | PATH@[5; 13) |
7 | PATH_SEGMENT@[5; 13) | 7 | PATH_SEGMENT@[5; 13) |
8 | NAME_REF@[5; 13) | 8 | NAME_REF@[5; 13) |
9 | IDENT@[5; 13) "FnScopes" | 9 | IDENT@[5; 13) "FnScopes" |
10 | WHITESPACE@[13; 14) | 10 | WHITESPACE@[13; 14) " " |
11 | ITEM_LIST@[14; 182) | 11 | ITEM_LIST@[14; 182) |
12 | L_CURLY@[14; 15) | 12 | L_CURLY@[14; 15) "{" |
13 | WHITESPACE@[15; 20) | 13 | WHITESPACE@[15; 20) "\n " |
14 | FN_DEF@[20; 161) | 14 | FN_DEF@[20; 161) |
15 | FN_KW@[20; 22) | 15 | FN_KW@[20; 22) "fn" |
16 | WHITESPACE@[22; 23) | 16 | WHITESPACE@[22; 23) " " |
17 | NAME@[23; 32) | 17 | NAME@[23; 32) |
18 | IDENT@[23; 32) "new_scope" | 18 | IDENT@[23; 32) "new_scope" |
19 | PARAM_LIST@[32; 35) | 19 | PARAM_LIST@[32; 35) |
20 | L_PAREN@[32; 33) | 20 | L_PAREN@[32; 33) "(" |
21 | PARAM@[33; 34) | 21 | PARAM@[33; 34) |
22 | REF_PAT@[33; 34) | 22 | REF_PAT@[33; 34) |
23 | AMP@[33; 34) | 23 | AMP@[33; 34) "&" |
24 | err: `expected pattern` | 24 | err: `expected pattern` |
25 | err: `expected COLON` | 25 | err: `expected COLON` |
26 | err: `expected type` | 26 | err: `expected type` |
27 | R_PAREN@[34; 35) | 27 | R_PAREN@[34; 35) ")" |
28 | WHITESPACE@[35; 36) | 28 | WHITESPACE@[35; 36) " " |
29 | RET_TYPE@[36; 46) | 29 | RET_TYPE@[36; 46) |
30 | THIN_ARROW@[36; 38) | 30 | THIN_ARROW@[36; 38) "->" |
31 | WHITESPACE@[38; 39) | 31 | WHITESPACE@[38; 39) " " |
32 | PATH_TYPE@[39; 46) | 32 | PATH_TYPE@[39; 46) |
33 | PATH@[39; 46) | 33 | PATH@[39; 46) |
34 | PATH_SEGMENT@[39; 46) | 34 | PATH_SEGMENT@[39; 46) |
35 | NAME_REF@[39; 46) | 35 | NAME_REF@[39; 46) |
36 | IDENT@[39; 46) "ScopeId" | 36 | IDENT@[39; 46) "ScopeId" |
37 | WHITESPACE@[46; 47) | 37 | WHITESPACE@[46; 47) " " |
38 | BLOCK@[47; 161) | 38 | BLOCK@[47; 161) |
39 | L_CURLY@[47; 48) | 39 | L_CURLY@[47; 48) "{" |
40 | WHITESPACE@[48; 57) | 40 | WHITESPACE@[48; 57) "\n " |
41 | LET_STMT@[57; 85) | 41 | LET_STMT@[57; 85) |
42 | LET_KW@[57; 60) | 42 | LET_KW@[57; 60) "let" |
43 | WHITESPACE@[60; 61) | 43 | WHITESPACE@[60; 61) " " |
44 | BIND_PAT@[61; 64) | 44 | BIND_PAT@[61; 64) |
45 | NAME@[61; 64) | 45 | NAME@[61; 64) |
46 | IDENT@[61; 64) "res" | 46 | IDENT@[61; 64) "res" |
47 | WHITESPACE@[64; 65) | 47 | WHITESPACE@[64; 65) " " |
48 | EQ@[65; 66) | 48 | EQ@[65; 66) "=" |
49 | WHITESPACE@[66; 67) | 49 | WHITESPACE@[66; 67) " " |
50 | METHOD_CALL_EXPR@[67; 84) | 50 | METHOD_CALL_EXPR@[67; 84) |
51 | FIELD_EXPR@[67; 78) | 51 | FIELD_EXPR@[67; 78) |
52 | PATH_EXPR@[67; 71) | 52 | PATH_EXPR@[67; 71) |
53 | PATH@[67; 71) | 53 | PATH@[67; 71) |
54 | PATH_SEGMENT@[67; 71) | 54 | PATH_SEGMENT@[67; 71) |
55 | SELF_KW@[67; 71) | 55 | SELF_KW@[67; 71) "self" |
56 | DOT@[71; 72) | 56 | DOT@[71; 72) "." |
57 | NAME_REF@[72; 78) | 57 | NAME_REF@[72; 78) |
58 | IDENT@[72; 78) "scopes" | 58 | IDENT@[72; 78) "scopes" |
59 | DOT@[78; 79) | 59 | DOT@[78; 79) "." |
60 | NAME_REF@[79; 82) | 60 | NAME_REF@[79; 82) |
61 | IDENT@[79; 82) "len" | 61 | IDENT@[79; 82) "len" |
62 | ARG_LIST@[82; 84) | 62 | ARG_LIST@[82; 84) |
63 | L_PAREN@[82; 83) | 63 | L_PAREN@[82; 83) "(" |
64 | R_PAREN@[83; 84) | 64 | R_PAREN@[83; 84) ")" |
65 | SEMI@[84; 85) | 65 | SEMI@[84; 85) ";" |
66 | WHITESPACE@[85; 94) | 66 | WHITESPACE@[85; 94) "\n " |
67 | METHOD_CALL_EXPR@[94; 155) | 67 | METHOD_CALL_EXPR@[94; 155) |
68 | FIELD_EXPR@[94; 105) | 68 | FIELD_EXPR@[94; 105) |
69 | PATH_EXPR@[94; 98) | 69 | PATH_EXPR@[94; 98) |
70 | PATH@[94; 98) | 70 | PATH@[94; 98) |
71 | PATH_SEGMENT@[94; 98) | 71 | PATH_SEGMENT@[94; 98) |
72 | SELF_KW@[94; 98) | 72 | SELF_KW@[94; 98) "self" |
73 | DOT@[98; 99) | 73 | DOT@[98; 99) "." |
74 | NAME_REF@[99; 105) | 74 | NAME_REF@[99; 105) |
75 | IDENT@[99; 105) "scopes" | 75 | IDENT@[99; 105) "scopes" |
76 | DOT@[105; 106) | 76 | DOT@[105; 106) "." |
77 | NAME_REF@[106; 110) | 77 | NAME_REF@[106; 110) |
78 | IDENT@[106; 110) "push" | 78 | IDENT@[106; 110) "push" |
79 | ARG_LIST@[110; 155) | 79 | ARG_LIST@[110; 155) |
80 | L_PAREN@[110; 111) | 80 | L_PAREN@[110; 111) "(" |
81 | STRUCT_LIT@[111; 154) | 81 | STRUCT_LIT@[111; 154) |
82 | PATH@[111; 120) | 82 | PATH@[111; 120) |
83 | PATH_SEGMENT@[111; 120) | 83 | PATH_SEGMENT@[111; 120) |
84 | NAME_REF@[111; 120) | 84 | NAME_REF@[111; 120) |
85 | IDENT@[111; 120) "ScopeData" | 85 | IDENT@[111; 120) "ScopeData" |
86 | WHITESPACE@[120; 121) | 86 | WHITESPACE@[120; 121) " " |
87 | NAMED_FIELD_LIST@[121; 154) | 87 | NAMED_FIELD_LIST@[121; 154) |
88 | L_CURLY@[121; 122) | 88 | L_CURLY@[121; 122) "{" |
89 | WHITESPACE@[122; 123) | 89 | WHITESPACE@[122; 123) " " |
90 | NAMED_FIELD@[123; 135) | 90 | NAMED_FIELD@[123; 135) |
91 | NAME_REF@[123; 129) | 91 | NAME_REF@[123; 129) |
92 | IDENT@[123; 129) "parent" | 92 | IDENT@[123; 129) "parent" |
93 | COLON@[129; 130) | 93 | COLON@[129; 130) ":" |
94 | WHITESPACE@[130; 131) | 94 | WHITESPACE@[130; 131) " " |
95 | PATH_EXPR@[131; 135) | 95 | PATH_EXPR@[131; 135) |
96 | PATH@[131; 135) | 96 | PATH@[131; 135) |
97 | PATH_SEGMENT@[131; 135) | 97 | PATH_SEGMENT@[131; 135) |
98 | NAME_REF@[131; 135) | 98 | NAME_REF@[131; 135) |
99 | IDENT@[131; 135) "None" | 99 | IDENT@[131; 135) "None" |
100 | COMMA@[135; 136) | 100 | COMMA@[135; 136) "," |
101 | WHITESPACE@[136; 137) | 101 | WHITESPACE@[136; 137) " " |
102 | NAMED_FIELD@[137; 152) | 102 | NAMED_FIELD@[137; 152) |
103 | NAME_REF@[137; 144) | 103 | NAME_REF@[137; 144) |
104 | IDENT@[137; 144) "entries" | 104 | IDENT@[137; 144) "entries" |
105 | COLON@[144; 145) | 105 | COLON@[144; 145) ":" |
106 | WHITESPACE@[145; 146) | 106 | WHITESPACE@[145; 146) " " |
107 | MACRO_CALL@[146; 152) | 107 | MACRO_CALL@[146; 152) |
108 | PATH@[146; 149) | 108 | PATH@[146; 149) |
109 | PATH_SEGMENT@[146; 149) | 109 | PATH_SEGMENT@[146; 149) |
110 | NAME_REF@[146; 149) | 110 | NAME_REF@[146; 149) |
111 | IDENT@[146; 149) "vec" | 111 | IDENT@[146; 149) "vec" |
112 | EXCL@[149; 150) | 112 | EXCL@[149; 150) "!" |
113 | TOKEN_TREE@[150; 152) | 113 | TOKEN_TREE@[150; 152) |
114 | L_BRACK@[150; 151) | 114 | L_BRACK@[150; 151) "[" |
115 | R_BRACK@[151; 152) | 115 | R_BRACK@[151; 152) "]" |
116 | WHITESPACE@[152; 153) | 116 | WHITESPACE@[152; 153) " " |
117 | R_CURLY@[153; 154) | 117 | R_CURLY@[153; 154) "}" |
118 | R_PAREN@[154; 155) | 118 | R_PAREN@[154; 155) ")" |
119 | WHITESPACE@[155; 160) | 119 | WHITESPACE@[155; 160) "\n " |
120 | R_CURLY@[160; 161) | 120 | R_CURLY@[160; 161) "}" |
121 | WHITESPACE@[161; 167) | 121 | WHITESPACE@[161; 167) "\n\n " |
122 | FN_DEF@[167; 180) | 122 | FN_DEF@[167; 180) |
123 | FN_KW@[167; 169) | 123 | FN_KW@[167; 169) "fn" |
124 | WHITESPACE@[169; 170) | 124 | WHITESPACE@[169; 170) " " |
125 | NAME@[170; 180) | 125 | NAME@[170; 180) |
126 | IDENT@[170; 180) "set_parent" | 126 | IDENT@[170; 180) "set_parent" |
127 | err: `expected function arguments` | 127 | err: `expected function arguments` |
128 | err: `expected a block` | 128 | err: `expected a block` |
129 | WHITESPACE@[180; 181) | 129 | WHITESPACE@[180; 181) "\n" |
130 | R_CURLY@[181; 182) | 130 | R_CURLY@[181; 182) "}" |
131 | WHITESPACE@[182; 183) | 131 | WHITESPACE@[182; 183) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0019_let_recover.txt b/crates/ra_syntax/tests/data/parser/err/0019_let_recover.txt index ee75c33ae..c12649d5e 100644 --- a/crates/ra_syntax/tests/data/parser/err/0019_let_recover.txt +++ b/crates/ra_syntax/tests/data/parser/err/0019_let_recover.txt | |||
@@ -1,103 +1,103 @@ | |||
1 | SOURCE_FILE@[0; 139) | 1 | SOURCE_FILE@[0; 139) |
2 | FN_DEF@[0; 138) | 2 | FN_DEF@[0; 138) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 6) | 5 | NAME@[3; 6) |
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | PARAM_LIST@[6; 8) | 7 | PARAM_LIST@[6; 8) |
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) "(" |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) ")" |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) " " |
11 | BLOCK@[9; 138) | 11 | BLOCK@[9; 138) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) "{" |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) "\n " |
14 | LET_STMT@[15; 24) | 14 | LET_STMT@[15; 24) |
15 | LET_KW@[15; 18) | 15 | LET_KW@[15; 18) "let" |
16 | WHITESPACE@[18; 19) | 16 | WHITESPACE@[18; 19) " " |
17 | BIND_PAT@[19; 22) | 17 | BIND_PAT@[19; 22) |
18 | NAME@[19; 22) | 18 | NAME@[19; 22) |
19 | IDENT@[19; 22) "foo" | 19 | IDENT@[19; 22) "foo" |
20 | WHITESPACE@[22; 23) | 20 | WHITESPACE@[22; 23) " " |
21 | EQ@[23; 24) | 21 | EQ@[23; 24) "=" |
22 | err: `expected expression` | 22 | err: `expected expression` |
23 | err: `expected SEMI` | 23 | err: `expected SEMI` |
24 | WHITESPACE@[24; 29) | 24 | WHITESPACE@[24; 29) "\n " |
25 | LET_STMT@[29; 41) | 25 | LET_STMT@[29; 41) |
26 | LET_KW@[29; 32) | 26 | LET_KW@[29; 32) "let" |
27 | WHITESPACE@[32; 33) | 27 | WHITESPACE@[32; 33) " " |
28 | BIND_PAT@[33; 36) | 28 | BIND_PAT@[33; 36) |
29 | NAME@[33; 36) | 29 | NAME@[33; 36) |
30 | IDENT@[33; 36) "bar" | 30 | IDENT@[33; 36) "bar" |
31 | WHITESPACE@[36; 37) | 31 | WHITESPACE@[36; 37) " " |
32 | EQ@[37; 38) | 32 | EQ@[37; 38) "=" |
33 | WHITESPACE@[38; 39) | 33 | WHITESPACE@[38; 39) " " |
34 | LITERAL@[39; 40) | 34 | LITERAL@[39; 40) |
35 | INT_NUMBER@[39; 40) "1" | 35 | INT_NUMBER@[39; 40) "1" |
36 | SEMI@[40; 41) | 36 | SEMI@[40; 41) ";" |
37 | WHITESPACE@[41; 46) | 37 | WHITESPACE@[41; 46) "\n " |
38 | LET_STMT@[46; 49) | 38 | LET_STMT@[46; 49) |
39 | LET_KW@[46; 49) | 39 | LET_KW@[46; 49) "let" |
40 | err: `expected pattern` | 40 | err: `expected pattern` |
41 | err: `expected SEMI` | 41 | err: `expected SEMI` |
42 | WHITESPACE@[49; 54) | 42 | WHITESPACE@[49; 54) "\n " |
43 | LET_STMT@[54; 67) | 43 | LET_STMT@[54; 67) |
44 | LET_KW@[54; 57) | 44 | LET_KW@[54; 57) "let" |
45 | WHITESPACE@[57; 58) | 45 | WHITESPACE@[57; 58) " " |
46 | BIND_PAT@[58; 61) | 46 | BIND_PAT@[58; 61) |
47 | NAME@[58; 61) | 47 | NAME@[58; 61) |
48 | IDENT@[58; 61) "baz" | 48 | IDENT@[58; 61) "baz" |
49 | WHITESPACE@[61; 62) | 49 | WHITESPACE@[61; 62) " " |
50 | EQ@[62; 63) | 50 | EQ@[62; 63) "=" |
51 | WHITESPACE@[63; 64) | 51 | WHITESPACE@[63; 64) " " |
52 | LITERAL@[64; 66) | 52 | LITERAL@[64; 66) |
53 | INT_NUMBER@[64; 66) "92" | 53 | INT_NUMBER@[64; 66) "92" |
54 | SEMI@[66; 67) | 54 | SEMI@[66; 67) ";" |
55 | WHITESPACE@[67; 72) | 55 | WHITESPACE@[67; 72) "\n " |
56 | LET_STMT@[72; 75) | 56 | LET_STMT@[72; 75) |
57 | LET_KW@[72; 75) | 57 | LET_KW@[72; 75) "let" |
58 | err: `expected pattern` | 58 | err: `expected pattern` |
59 | err: `expected SEMI` | 59 | err: `expected SEMI` |
60 | WHITESPACE@[75; 80) | 60 | WHITESPACE@[75; 80) "\n " |
61 | EXPR_STMT@[80; 90) | 61 | EXPR_STMT@[80; 90) |
62 | IF_EXPR@[80; 90) | 62 | IF_EXPR@[80; 90) |
63 | IF_KW@[80; 82) | 63 | IF_KW@[80; 82) "if" |
64 | WHITESPACE@[82; 83) | 64 | WHITESPACE@[82; 83) " " |
65 | CONDITION@[83; 87) | 65 | CONDITION@[83; 87) |
66 | LITERAL@[83; 87) | 66 | LITERAL@[83; 87) |
67 | TRUE_KW@[83; 87) | 67 | TRUE_KW@[83; 87) "true" |
68 | WHITESPACE@[87; 88) | 68 | WHITESPACE@[87; 88) " " |
69 | BLOCK@[88; 90) | 69 | BLOCK@[88; 90) |
70 | L_CURLY@[88; 89) | 70 | L_CURLY@[88; 89) "{" |
71 | R_CURLY@[89; 90) | 71 | R_CURLY@[89; 90) "}" |
72 | WHITESPACE@[90; 95) | 72 | WHITESPACE@[90; 95) "\n " |
73 | LET_STMT@[95; 98) | 73 | LET_STMT@[95; 98) |
74 | LET_KW@[95; 98) | 74 | LET_KW@[95; 98) "let" |
75 | err: `expected pattern` | 75 | err: `expected pattern` |
76 | err: `expected SEMI` | 76 | err: `expected SEMI` |
77 | WHITESPACE@[98; 103) | 77 | WHITESPACE@[98; 103) "\n " |
78 | EXPR_STMT@[103; 116) | 78 | EXPR_STMT@[103; 116) |
79 | WHILE_EXPR@[103; 116) | 79 | WHILE_EXPR@[103; 116) |
80 | WHILE_KW@[103; 108) | 80 | WHILE_KW@[103; 108) "while" |
81 | WHITESPACE@[108; 109) | 81 | WHITESPACE@[108; 109) " " |
82 | CONDITION@[109; 113) | 82 | CONDITION@[109; 113) |
83 | LITERAL@[109; 113) | 83 | LITERAL@[109; 113) |
84 | TRUE_KW@[109; 113) | 84 | TRUE_KW@[109; 113) "true" |
85 | WHITESPACE@[113; 114) | 85 | WHITESPACE@[113; 114) " " |
86 | BLOCK@[114; 116) | 86 | BLOCK@[114; 116) |
87 | L_CURLY@[114; 115) | 87 | L_CURLY@[114; 115) "{" |
88 | R_CURLY@[115; 116) | 88 | R_CURLY@[115; 116) "}" |
89 | WHITESPACE@[116; 121) | 89 | WHITESPACE@[116; 121) "\n " |
90 | LET_STMT@[121; 124) | 90 | LET_STMT@[121; 124) |
91 | LET_KW@[121; 124) | 91 | LET_KW@[121; 124) "let" |
92 | err: `expected pattern` | 92 | err: `expected pattern` |
93 | err: `expected SEMI` | 93 | err: `expected SEMI` |
94 | WHITESPACE@[124; 129) | 94 | WHITESPACE@[124; 129) "\n " |
95 | LOOP_EXPR@[129; 136) | 95 | LOOP_EXPR@[129; 136) |
96 | LOOP_KW@[129; 133) | 96 | LOOP_KW@[129; 133) "loop" |
97 | WHITESPACE@[133; 134) | 97 | WHITESPACE@[133; 134) " " |
98 | BLOCK@[134; 136) | 98 | BLOCK@[134; 136) |
99 | L_CURLY@[134; 135) | 99 | L_CURLY@[134; 135) "{" |
100 | R_CURLY@[135; 136) | 100 | R_CURLY@[135; 136) "}" |
101 | WHITESPACE@[136; 137) | 101 | WHITESPACE@[136; 137) "\n" |
102 | R_CURLY@[137; 138) | 102 | R_CURLY@[137; 138) "}" |
103 | WHITESPACE@[138; 139) | 103 | WHITESPACE@[138; 139) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0020_fn_recover.txt b/crates/ra_syntax/tests/data/parser/err/0020_fn_recover.txt index 375fd3ad2..b48bd5dee 100644 --- a/crates/ra_syntax/tests/data/parser/err/0020_fn_recover.txt +++ b/crates/ra_syntax/tests/data/parser/err/0020_fn_recover.txt | |||
@@ -1,20 +1,20 @@ | |||
1 | SOURCE_FILE@[0; 16) | 1 | SOURCE_FILE@[0; 16) |
2 | FN_DEF@[0; 2) | 2 | FN_DEF@[0; 2) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | err: `expected a name` | 4 | err: `expected a name` |
5 | err: `expected function arguments` | 5 | err: `expected function arguments` |
6 | err: `expected a block` | 6 | err: `expected a block` |
7 | WHITESPACE@[2; 4) | 7 | WHITESPACE@[2; 4) "\n\n" |
8 | FN_DEF@[4; 15) | 8 | FN_DEF@[4; 15) |
9 | FN_KW@[4; 6) | 9 | FN_KW@[4; 6) "fn" |
10 | WHITESPACE@[6; 7) | 10 | WHITESPACE@[6; 7) " " |
11 | NAME@[7; 10) | 11 | NAME@[7; 10) |
12 | IDENT@[7; 10) "foo" | 12 | IDENT@[7; 10) "foo" |
13 | PARAM_LIST@[10; 12) | 13 | PARAM_LIST@[10; 12) |
14 | L_PAREN@[10; 11) | 14 | L_PAREN@[10; 11) "(" |
15 | R_PAREN@[11; 12) | 15 | R_PAREN@[11; 12) ")" |
16 | WHITESPACE@[12; 13) | 16 | WHITESPACE@[12; 13) " " |
17 | BLOCK@[13; 15) | 17 | BLOCK@[13; 15) |
18 | L_CURLY@[13; 14) | 18 | L_CURLY@[13; 14) "{" |
19 | R_CURLY@[14; 15) | 19 | R_CURLY@[14; 15) "}" |
20 | WHITESPACE@[15; 16) | 20 | WHITESPACE@[15; 16) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0021_incomplete_param.txt b/crates/ra_syntax/tests/data/parser/err/0021_incomplete_param.txt index 1b3dcd945..81b52c8ce 100644 --- a/crates/ra_syntax/tests/data/parser/err/0021_incomplete_param.txt +++ b/crates/ra_syntax/tests/data/parser/err/0021_incomplete_param.txt | |||
@@ -1,34 +1,34 @@ | |||
1 | SOURCE_FILE@[0; 22) | 1 | SOURCE_FILE@[0; 22) |
2 | FN_DEF@[0; 21) | 2 | FN_DEF@[0; 21) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 6) | 5 | NAME@[3; 6) |
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | PARAM_LIST@[6; 17) | 7 | PARAM_LIST@[6; 17) |
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) "(" |
9 | PARAM@[7; 13) | 9 | PARAM@[7; 13) |
10 | BIND_PAT@[7; 8) | 10 | BIND_PAT@[7; 8) |
11 | NAME@[7; 8) | 11 | NAME@[7; 8) |
12 | IDENT@[7; 8) "x" | 12 | IDENT@[7; 8) "x" |
13 | COLON@[8; 9) | 13 | COLON@[8; 9) ":" |
14 | WHITESPACE@[9; 10) | 14 | WHITESPACE@[9; 10) " " |
15 | PATH_TYPE@[10; 13) | 15 | PATH_TYPE@[10; 13) |
16 | PATH@[10; 13) | 16 | PATH@[10; 13) |
17 | PATH_SEGMENT@[10; 13) | 17 | PATH_SEGMENT@[10; 13) |
18 | NAME_REF@[10; 13) | 18 | NAME_REF@[10; 13) |
19 | IDENT@[10; 13) "i32" | 19 | IDENT@[10; 13) "i32" |
20 | COMMA@[13; 14) | 20 | COMMA@[13; 14) "," |
21 | WHITESPACE@[14; 15) | 21 | WHITESPACE@[14; 15) " " |
22 | PARAM@[15; 16) | 22 | PARAM@[15; 16) |
23 | BIND_PAT@[15; 16) | 23 | BIND_PAT@[15; 16) |
24 | NAME@[15; 16) | 24 | NAME@[15; 16) |
25 | IDENT@[15; 16) "y" | 25 | IDENT@[15; 16) "y" |
26 | err: `expected COLON` | 26 | err: `expected COLON` |
27 | err: `expected type` | 27 | err: `expected type` |
28 | R_PAREN@[16; 17) | 28 | R_PAREN@[16; 17) ")" |
29 | WHITESPACE@[17; 18) | 29 | WHITESPACE@[17; 18) " " |
30 | BLOCK@[18; 21) | 30 | BLOCK@[18; 21) |
31 | L_CURLY@[18; 19) | 31 | L_CURLY@[18; 19) "{" |
32 | WHITESPACE@[19; 20) | 32 | WHITESPACE@[19; 20) "\n" |
33 | R_CURLY@[20; 21) | 33 | R_CURLY@[20; 21) "}" |
34 | WHITESPACE@[21; 22) | 34 | WHITESPACE@[21; 22) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0022_bad_exprs.txt b/crates/ra_syntax/tests/data/parser/err/0022_bad_exprs.txt index da3894133..6dfdfc343 100644 --- a/crates/ra_syntax/tests/data/parser/err/0022_bad_exprs.txt +++ b/crates/ra_syntax/tests/data/parser/err/0022_bad_exprs.txt | |||
@@ -1,69 +1,69 @@ | |||
1 | SOURCE_FILE@[0; 112) | 1 | SOURCE_FILE@[0; 112) |
2 | FN_DEF@[0; 33) | 2 | FN_DEF@[0; 33) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 4) | 5 | NAME@[3; 4) |
6 | IDENT@[3; 4) "a" | 6 | IDENT@[3; 4) "a" |
7 | PARAM_LIST@[4; 6) | 7 | PARAM_LIST@[4; 6) |
8 | L_PAREN@[4; 5) | 8 | L_PAREN@[4; 5) "(" |
9 | R_PAREN@[5; 6) | 9 | R_PAREN@[5; 6) ")" |
10 | WHITESPACE@[6; 7) | 10 | WHITESPACE@[6; 7) " " |
11 | BLOCK@[7; 33) | 11 | BLOCK@[7; 33) |
12 | L_CURLY@[7; 8) | 12 | L_CURLY@[7; 8) "{" |
13 | WHITESPACE@[8; 9) | 13 | WHITESPACE@[8; 9) " " |
14 | EXPR_STMT@[9; 15) | 14 | EXPR_STMT@[9; 15) |
15 | ARRAY_EXPR@[9; 15) | 15 | ARRAY_EXPR@[9; 15) |
16 | L_BRACK@[9; 10) | 16 | L_BRACK@[9; 10) "[" |
17 | LITERAL@[10; 11) | 17 | LITERAL@[10; 11) |
18 | INT_NUMBER@[10; 11) "1" | 18 | INT_NUMBER@[10; 11) "1" |
19 | COMMA@[11; 12) | 19 | COMMA@[11; 12) "," |
20 | WHITESPACE@[12; 13) | 20 | WHITESPACE@[12; 13) " " |
21 | LITERAL@[13; 14) | 21 | LITERAL@[13; 14) |
22 | INT_NUMBER@[13; 14) "2" | 22 | INT_NUMBER@[13; 14) "2" |
23 | COMMA@[14; 15) | 23 | COMMA@[14; 15) "," |
24 | err: `expected expression` | 24 | err: `expected expression` |
25 | err: `expected R_BRACK` | 25 | err: `expected R_BRACK` |
26 | err: `expected SEMI` | 26 | err: `expected SEMI` |
27 | WHITESPACE@[15; 16) | 27 | WHITESPACE@[15; 16) " " |
28 | err: `expected expression` | 28 | err: `expected expression` |
29 | EXPR_STMT@[16; 17) | 29 | EXPR_STMT@[16; 17) |
30 | ERROR@[16; 17) | 30 | ERROR@[16; 17) |
31 | AT@[16; 17) | 31 | AT@[16; 17) "@" |
32 | err: `expected SEMI` | 32 | err: `expected SEMI` |
33 | err: `expected expression` | 33 | err: `expected expression` |
34 | EXPR_STMT@[17; 18) | 34 | EXPR_STMT@[17; 18) |
35 | ERROR@[17; 18) | 35 | ERROR@[17; 18) |
36 | COMMA@[17; 18) | 36 | COMMA@[17; 18) "," |
37 | err: `expected SEMI` | 37 | err: `expected SEMI` |
38 | WHITESPACE@[18; 19) | 38 | WHITESPACE@[18; 19) " " |
39 | STRUCT_DEF@[19; 26) | 39 | STRUCT_DEF@[19; 26) |
40 | STRUCT_KW@[19; 25) | 40 | STRUCT_KW@[19; 25) "struct" |
41 | err: `expected a name` | 41 | err: `expected a name` |
42 | ERROR@[25; 26) | 42 | ERROR@[25; 26) |
43 | COMMA@[25; 26) | 43 | COMMA@[25; 26) "," |
44 | err: `expected `;`, `{`, or `(`` | 44 | err: `expected `;`, `{`, or `(`` |
45 | WHITESPACE@[26; 27) | 45 | WHITESPACE@[26; 27) " " |
46 | LET_STMT@[27; 31) | 46 | LET_STMT@[27; 31) |
47 | LET_KW@[27; 30) | 47 | LET_KW@[27; 30) "let" |
48 | err: `expected pattern` | 48 | err: `expected pattern` |
49 | ERROR@[30; 31) | 49 | ERROR@[30; 31) |
50 | R_BRACK@[30; 31) | 50 | R_BRACK@[30; 31) "]" |
51 | err: `expected SEMI` | 51 | err: `expected SEMI` |
52 | WHITESPACE@[31; 32) | 52 | WHITESPACE@[31; 32) " " |
53 | R_CURLY@[32; 33) | 53 | R_CURLY@[32; 33) "}" |
54 | WHITESPACE@[33; 34) | 54 | WHITESPACE@[33; 34) "\n" |
55 | FN_DEF@[34; 68) | 55 | FN_DEF@[34; 68) |
56 | FN_KW@[34; 36) | 56 | FN_KW@[34; 36) "fn" |
57 | WHITESPACE@[36; 37) | 57 | WHITESPACE@[36; 37) " " |
58 | NAME@[37; 38) | 58 | NAME@[37; 38) |
59 | IDENT@[37; 38) "b" | 59 | IDENT@[37; 38) "b" |
60 | PARAM_LIST@[38; 40) | 60 | PARAM_LIST@[38; 40) |
61 | L_PAREN@[38; 39) | 61 | L_PAREN@[38; 39) "(" |
62 | R_PAREN@[39; 40) | 62 | R_PAREN@[39; 40) ")" |
63 | WHITESPACE@[40; 41) | 63 | WHITESPACE@[40; 41) " " |
64 | BLOCK@[41; 68) | 64 | BLOCK@[41; 68) |
65 | L_CURLY@[41; 42) | 65 | L_CURLY@[41; 42) "{" |
66 | WHITESPACE@[42; 43) | 66 | WHITESPACE@[42; 43) " " |
67 | EXPR_STMT@[43; 52) | 67 | EXPR_STMT@[43; 52) |
68 | CALL_EXPR@[43; 52) | 68 | CALL_EXPR@[43; 52) |
69 | PATH_EXPR@[43; 46) | 69 | PATH_EXPR@[43; 46) |
@@ -72,60 +72,60 @@ SOURCE_FILE@[0; 112) | |||
72 | NAME_REF@[43; 46) | 72 | NAME_REF@[43; 46) |
73 | IDENT@[43; 46) "foo" | 73 | IDENT@[43; 46) "foo" |
74 | ARG_LIST@[46; 52) | 74 | ARG_LIST@[46; 52) |
75 | L_PAREN@[46; 47) | 75 | L_PAREN@[46; 47) "(" |
76 | LITERAL@[47; 48) | 76 | LITERAL@[47; 48) |
77 | INT_NUMBER@[47; 48) "1" | 77 | INT_NUMBER@[47; 48) "1" |
78 | COMMA@[48; 49) | 78 | COMMA@[48; 49) "," |
79 | WHITESPACE@[49; 50) | 79 | WHITESPACE@[49; 50) " " |
80 | LITERAL@[50; 51) | 80 | LITERAL@[50; 51) |
81 | INT_NUMBER@[50; 51) "2" | 81 | INT_NUMBER@[50; 51) "2" |
82 | COMMA@[51; 52) | 82 | COMMA@[51; 52) "," |
83 | err: `expected expression` | 83 | err: `expected expression` |
84 | err: `expected SEMI` | 84 | err: `expected SEMI` |
85 | WHITESPACE@[52; 53) | 85 | WHITESPACE@[52; 53) " " |
86 | err: `expected expression` | 86 | err: `expected expression` |
87 | EXPR_STMT@[53; 54) | 87 | EXPR_STMT@[53; 54) |
88 | ERROR@[53; 54) | 88 | ERROR@[53; 54) |
89 | AT@[53; 54) | 89 | AT@[53; 54) "@" |
90 | err: `expected SEMI` | 90 | err: `expected SEMI` |
91 | err: `expected expression` | 91 | err: `expected expression` |
92 | EXPR_STMT@[54; 55) | 92 | EXPR_STMT@[54; 55) |
93 | ERROR@[54; 55) | 93 | ERROR@[54; 55) |
94 | COMMA@[54; 55) | 94 | COMMA@[54; 55) "," |
95 | err: `expected SEMI` | 95 | err: `expected SEMI` |
96 | WHITESPACE@[55; 56) | 96 | WHITESPACE@[55; 56) " " |
97 | IMPL_BLOCK@[56; 60) | 97 | IMPL_BLOCK@[56; 60) |
98 | IMPL_KW@[56; 60) | 98 | IMPL_KW@[56; 60) "impl" |
99 | err: `expected type` | 99 | err: `expected type` |
100 | err: `expected `{`` | 100 | err: `expected `{`` |
101 | err: `expected expression` | 101 | err: `expected expression` |
102 | EXPR_STMT@[60; 61) | 102 | EXPR_STMT@[60; 61) |
103 | ERROR@[60; 61) | 103 | ERROR@[60; 61) |
104 | COMMA@[60; 61) | 104 | COMMA@[60; 61) "," |
105 | err: `expected SEMI` | 105 | err: `expected SEMI` |
106 | WHITESPACE@[61; 62) | 106 | WHITESPACE@[61; 62) " " |
107 | LET_STMT@[62; 65) | 107 | LET_STMT@[62; 65) |
108 | LET_KW@[62; 65) | 108 | LET_KW@[62; 65) "let" |
109 | err: `expected pattern` | 109 | err: `expected pattern` |
110 | err: `expected SEMI` | 110 | err: `expected SEMI` |
111 | err: `expected expression` | 111 | err: `expected expression` |
112 | ERROR@[65; 66) | 112 | ERROR@[65; 66) |
113 | R_PAREN@[65; 66) | 113 | R_PAREN@[65; 66) ")" |
114 | WHITESPACE@[66; 67) | 114 | WHITESPACE@[66; 67) " " |
115 | R_CURLY@[67; 68) | 115 | R_CURLY@[67; 68) "}" |
116 | WHITESPACE@[68; 69) | 116 | WHITESPACE@[68; 69) "\n" |
117 | FN_DEF@[69; 111) | 117 | FN_DEF@[69; 111) |
118 | FN_KW@[69; 71) | 118 | FN_KW@[69; 71) "fn" |
119 | WHITESPACE@[71; 72) | 119 | WHITESPACE@[71; 72) " " |
120 | NAME@[72; 73) | 120 | NAME@[72; 73) |
121 | IDENT@[72; 73) "c" | 121 | IDENT@[72; 73) "c" |
122 | PARAM_LIST@[73; 75) | 122 | PARAM_LIST@[73; 75) |
123 | L_PAREN@[73; 74) | 123 | L_PAREN@[73; 74) "(" |
124 | R_PAREN@[74; 75) | 124 | R_PAREN@[74; 75) ")" |
125 | WHITESPACE@[75; 76) | 125 | WHITESPACE@[75; 76) " " |
126 | BLOCK@[76; 111) | 126 | BLOCK@[76; 111) |
127 | L_CURLY@[76; 77) | 127 | L_CURLY@[76; 77) "{" |
128 | WHITESPACE@[77; 78) | 128 | WHITESPACE@[77; 78) " " |
129 | EXPR_STMT@[78; 91) | 129 | EXPR_STMT@[78; 91) |
130 | METHOD_CALL_EXPR@[78; 91) | 130 | METHOD_CALL_EXPR@[78; 91) |
131 | PATH_EXPR@[78; 81) | 131 | PATH_EXPR@[78; 81) |
@@ -133,57 +133,57 @@ SOURCE_FILE@[0; 112) | |||
133 | PATH_SEGMENT@[78; 81) | 133 | PATH_SEGMENT@[78; 81) |
134 | NAME_REF@[78; 81) | 134 | NAME_REF@[78; 81) |
135 | IDENT@[78; 81) "foo" | 135 | IDENT@[78; 81) "foo" |
136 | DOT@[81; 82) | 136 | DOT@[81; 82) "." |
137 | NAME_REF@[82; 85) | 137 | NAME_REF@[82; 85) |
138 | IDENT@[82; 85) "bar" | 138 | IDENT@[82; 85) "bar" |
139 | ARG_LIST@[85; 91) | 139 | ARG_LIST@[85; 91) |
140 | L_PAREN@[85; 86) | 140 | L_PAREN@[85; 86) "(" |
141 | LITERAL@[86; 87) | 141 | LITERAL@[86; 87) |
142 | INT_NUMBER@[86; 87) "1" | 142 | INT_NUMBER@[86; 87) "1" |
143 | COMMA@[87; 88) | 143 | COMMA@[87; 88) "," |
144 | WHITESPACE@[88; 89) | 144 | WHITESPACE@[88; 89) " " |
145 | LITERAL@[89; 90) | 145 | LITERAL@[89; 90) |
146 | INT_NUMBER@[89; 90) "2" | 146 | INT_NUMBER@[89; 90) "2" |
147 | COMMA@[90; 91) | 147 | COMMA@[90; 91) "," |
148 | err: `expected expression` | 148 | err: `expected expression` |
149 | err: `expected SEMI` | 149 | err: `expected SEMI` |
150 | WHITESPACE@[91; 92) | 150 | WHITESPACE@[91; 92) " " |
151 | err: `expected expression` | 151 | err: `expected expression` |
152 | EXPR_STMT@[92; 93) | 152 | EXPR_STMT@[92; 93) |
153 | ERROR@[92; 93) | 153 | ERROR@[92; 93) |
154 | AT@[92; 93) | 154 | AT@[92; 93) "@" |
155 | err: `expected SEMI` | 155 | err: `expected SEMI` |
156 | err: `expected expression` | 156 | err: `expected expression` |
157 | EXPR_STMT@[93; 94) | 157 | EXPR_STMT@[93; 94) |
158 | ERROR@[93; 94) | 158 | ERROR@[93; 94) |
159 | COMMA@[93; 94) | 159 | COMMA@[93; 94) "," |
160 | err: `expected SEMI` | 160 | err: `expected SEMI` |
161 | WHITESPACE@[94; 95) | 161 | WHITESPACE@[94; 95) " " |
162 | err: `expected expression` | 162 | err: `expected expression` |
163 | EXPR_STMT@[95; 96) | 163 | EXPR_STMT@[95; 96) |
164 | ERROR@[95; 96) | 164 | ERROR@[95; 96) |
165 | R_BRACK@[95; 96) | 165 | R_BRACK@[95; 96) "]" |
166 | err: `expected SEMI` | 166 | err: `expected SEMI` |
167 | err: `expected expression` | 167 | err: `expected expression` |
168 | EXPR_STMT@[96; 97) | 168 | EXPR_STMT@[96; 97) |
169 | ERROR@[96; 97) | 169 | ERROR@[96; 97) |
170 | COMMA@[96; 97) | 170 | COMMA@[96; 97) "," |
171 | err: `expected SEMI` | 171 | err: `expected SEMI` |
172 | WHITESPACE@[97; 98) | 172 | WHITESPACE@[97; 98) " " |
173 | TRAIT_DEF@[98; 104) | 173 | TRAIT_DEF@[98; 104) |
174 | TRAIT_KW@[98; 103) | 174 | TRAIT_KW@[98; 103) "trait" |
175 | err: `expected a name` | 175 | err: `expected a name` |
176 | ERROR@[103; 104) | 176 | ERROR@[103; 104) |
177 | COMMA@[103; 104) | 177 | COMMA@[103; 104) "," |
178 | err: `expected `{`` | 178 | err: `expected `{`` |
179 | WHITESPACE@[104; 105) | 179 | WHITESPACE@[104; 105) " " |
180 | LET_STMT@[105; 108) | 180 | LET_STMT@[105; 108) |
181 | LET_KW@[105; 108) | 181 | LET_KW@[105; 108) "let" |
182 | err: `expected pattern` | 182 | err: `expected pattern` |
183 | err: `expected SEMI` | 183 | err: `expected SEMI` |
184 | err: `expected expression` | 184 | err: `expected expression` |
185 | ERROR@[108; 109) | 185 | ERROR@[108; 109) |
186 | R_PAREN@[108; 109) | 186 | R_PAREN@[108; 109) ")" |
187 | WHITESPACE@[109; 110) | 187 | WHITESPACE@[109; 110) " " |
188 | R_CURLY@[110; 111) | 188 | R_CURLY@[110; 111) "}" |
189 | WHITESPACE@[111; 112) | 189 | WHITESPACE@[111; 112) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0023_mismatched_paren.txt b/crates/ra_syntax/tests/data/parser/err/0023_mismatched_paren.txt index dcca0756d..469d35082 100644 --- a/crates/ra_syntax/tests/data/parser/err/0023_mismatched_paren.txt +++ b/crates/ra_syntax/tests/data/parser/err/0023_mismatched_paren.txt | |||
@@ -1,43 +1,43 @@ | |||
1 | SOURCE_FILE@[0; 94) | 1 | SOURCE_FILE@[0; 94) |
2 | FN_DEF@[0; 55) | 2 | FN_DEF@[0; 55) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 7) | 5 | NAME@[3; 7) |
6 | IDENT@[3; 7) "main" | 6 | IDENT@[3; 7) "main" |
7 | PARAM_LIST@[7; 9) | 7 | PARAM_LIST@[7; 9) |
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) "(" |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) ")" |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) " " |
11 | BLOCK@[10; 55) | 11 | BLOCK@[10; 55) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) "{" |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) "\n " |
14 | MACRO_CALL@[16; 49) | 14 | MACRO_CALL@[16; 49) |
15 | PATH@[16; 19) | 15 | PATH@[16; 19) |
16 | PATH_SEGMENT@[16; 19) | 16 | PATH_SEGMENT@[16; 19) |
17 | NAME_REF@[16; 19) | 17 | NAME_REF@[16; 19) |
18 | IDENT@[16; 19) "foo" | 18 | IDENT@[16; 19) "foo" |
19 | EXCL@[19; 20) | 19 | EXCL@[19; 20) "!" |
20 | WHITESPACE@[20; 21) | 20 | WHITESPACE@[20; 21) " " |
21 | TOKEN_TREE@[21; 49) | 21 | TOKEN_TREE@[21; 49) |
22 | L_PAREN@[21; 22) | 22 | L_PAREN@[21; 22) "(" |
23 | WHITESPACE@[22; 31) | 23 | WHITESPACE@[22; 31) "\n " |
24 | IDENT@[31; 34) "bar" | 24 | IDENT@[31; 34) "bar" |
25 | COMMA@[34; 35) | 25 | COMMA@[34; 35) "," |
26 | WHITESPACE@[35; 36) | 26 | WHITESPACE@[35; 36) " " |
27 | STRING@[36; 41) | 27 | STRING@[36; 41) "\"baz\"" |
28 | COMMA@[41; 42) | 28 | COMMA@[41; 42) "," |
29 | WHITESPACE@[42; 43) | 29 | WHITESPACE@[42; 43) " " |
30 | INT_NUMBER@[43; 44) "1" | 30 | INT_NUMBER@[43; 44) "1" |
31 | COMMA@[44; 45) | 31 | COMMA@[44; 45) "," |
32 | WHITESPACE@[45; 46) | 32 | WHITESPACE@[45; 46) " " |
33 | FLOAT_NUMBER@[46; 49) "2.0" | 33 | FLOAT_NUMBER@[46; 49) "2.0" |
34 | err: `unmatched `}`` | 34 | err: `unmatched `}`` |
35 | WHITESPACE@[49; 54) | 35 | WHITESPACE@[49; 54) "\n " |
36 | R_CURLY@[54; 55) | 36 | R_CURLY@[54; 55) "}" |
37 | WHITESPACE@[55; 56) | 37 | WHITESPACE@[55; 56) " " |
38 | COMMENT@[56; 91) | 38 | COMMENT@[56; 91) "//~ ERROR incorrect c ..." |
39 | WHITESPACE@[91; 92) | 39 | WHITESPACE@[91; 92) "\n" |
40 | err: `unmatched `}`` | 40 | err: `unmatched `}`` |
41 | ERROR@[92; 93) | 41 | ERROR@[92; 93) |
42 | R_CURLY@[92; 93) | 42 | R_CURLY@[92; 93) "}" |
43 | WHITESPACE@[93; 94) | 43 | WHITESPACE@[93; 94) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0024_many_type_parens.txt b/crates/ra_syntax/tests/data/parser/err/0024_many_type_parens.txt index 8720fc6ea..0fb73d838 100644 --- a/crates/ra_syntax/tests/data/parser/err/0024_many_type_parens.txt +++ b/crates/ra_syntax/tests/data/parser/err/0024_many_type_parens.txt | |||
@@ -1,164 +1,173 @@ | |||
1 | SOURCE_FILE@[0; 240) | 1 | SOURCE_FILE@[0; 240) |
2 | FN_DEF@[0; 53) | 2 | FN_DEF@[0; 53) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 4) | 5 | NAME@[3; 4) |
6 | IDENT@[3; 4) "f" | 6 | IDENT@[3; 4) "f" |
7 | TYPE_PARAM_LIST@[4; 48) | 7 | TYPE_PARAM_LIST@[4; 48) |
8 | L_ANGLE@[4; 5) | 8 | L_ANGLE@[4; 5) "<" |
9 | TYPE_PARAM@[5; 47) | 9 | TYPE_PARAM@[5; 47) |
10 | NAME@[5; 6) | 10 | NAME@[5; 6) |
11 | IDENT@[5; 6) "T" | 11 | IDENT@[5; 6) "T" |
12 | COLON@[6; 7) | 12 | COLON@[6; 7) ":" |
13 | WHITESPACE@[7; 8) | 13 | WHITESPACE@[7; 8) " " |
14 | L_PAREN@[8; 9) | 14 | TYPE_BOUND_LIST@[8; 47) |
15 | PATH_TYPE@[9; 13) | 15 | TYPE_BOUND@[8; 14) |
16 | PATH@[9; 13) | 16 | L_PAREN@[8; 9) "(" |
17 | PATH_SEGMENT@[9; 13) | 17 | PATH_TYPE@[9; 13) |
18 | NAME_REF@[9; 13) | 18 | PATH@[9; 13) |
19 | IDENT@[9; 13) "Copy" | 19 | PATH_SEGMENT@[9; 13) |
20 | R_PAREN@[13; 14) | 20 | NAME_REF@[9; 13) |
21 | WHITESPACE@[14; 15) | 21 | IDENT@[9; 13) "Copy" |
22 | PLUS@[15; 16) | 22 | R_PAREN@[13; 14) ")" |
23 | WHITESPACE@[16; 17) | 23 | WHITESPACE@[14; 15) " " |
24 | L_PAREN@[17; 18) | 24 | PLUS@[15; 16) "+" |
25 | QUESTION@[18; 19) | 25 | WHITESPACE@[16; 17) " " |
26 | PATH_TYPE@[19; 24) | 26 | TYPE_BOUND@[17; 25) |
27 | PATH@[19; 24) | 27 | L_PAREN@[17; 18) "(" |
28 | PATH_SEGMENT@[19; 24) | 28 | QUESTION@[18; 19) "?" |
29 | NAME_REF@[19; 24) | 29 | PATH_TYPE@[19; 24) |
30 | IDENT@[19; 24) "Sized" | 30 | PATH@[19; 24) |
31 | R_PAREN@[24; 25) | 31 | PATH_SEGMENT@[19; 24) |
32 | WHITESPACE@[25; 26) | 32 | NAME_REF@[19; 24) |
33 | PLUS@[26; 27) | 33 | IDENT@[19; 24) "Sized" |
34 | WHITESPACE@[27; 28) | 34 | R_PAREN@[24; 25) ")" |
35 | L_PAREN@[28; 29) | 35 | WHITESPACE@[25; 26) " " |
36 | FOR_TYPE@[29; 46) | 36 | PLUS@[26; 27) "+" |
37 | FOR_KW@[29; 32) | 37 | WHITESPACE@[27; 28) " " |
38 | TYPE_PARAM_LIST@[32; 36) | 38 | TYPE_BOUND@[28; 47) |
39 | L_ANGLE@[32; 33) | 39 | L_PAREN@[28; 29) "(" |
40 | LIFETIME_PARAM@[33; 35) | 40 | FOR_TYPE@[29; 46) |
41 | LIFETIME@[33; 35) "'a" | 41 | FOR_KW@[29; 32) "for" |
42 | R_ANGLE@[35; 36) | 42 | TYPE_PARAM_LIST@[32; 36) |
43 | WHITESPACE@[36; 37) | 43 | L_ANGLE@[32; 33) "<" |
44 | PATH_TYPE@[37; 46) | 44 | LIFETIME_PARAM@[33; 35) |
45 | PATH@[37; 46) | 45 | LIFETIME@[33; 35) "\'a" |
46 | PATH_SEGMENT@[37; 46) | 46 | R_ANGLE@[35; 36) ">" |
47 | NAME_REF@[37; 42) | 47 | WHITESPACE@[36; 37) " " |
48 | IDENT@[37; 42) "Trait" | 48 | PATH_TYPE@[37; 46) |
49 | TYPE_ARG_LIST@[42; 46) | 49 | PATH@[37; 46) |
50 | L_ANGLE@[42; 43) | 50 | PATH_SEGMENT@[37; 46) |
51 | LIFETIME_ARG@[43; 45) | 51 | NAME_REF@[37; 42) |
52 | LIFETIME@[43; 45) "'a" | 52 | IDENT@[37; 42) "Trait" |
53 | R_ANGLE@[45; 46) | 53 | TYPE_ARG_LIST@[42; 46) |
54 | R_PAREN@[46; 47) | 54 | L_ANGLE@[42; 43) "<" |
55 | R_ANGLE@[47; 48) | 55 | LIFETIME_ARG@[43; 45) |
56 | LIFETIME@[43; 45) "\'a" | ||
57 | R_ANGLE@[45; 46) ">" | ||
58 | R_PAREN@[46; 47) ")" | ||
59 | R_ANGLE@[47; 48) ">" | ||
56 | PARAM_LIST@[48; 50) | 60 | PARAM_LIST@[48; 50) |
57 | L_PAREN@[48; 49) | 61 | L_PAREN@[48; 49) "(" |
58 | R_PAREN@[49; 50) | 62 | R_PAREN@[49; 50) ")" |
59 | WHITESPACE@[50; 51) | 63 | WHITESPACE@[50; 51) " " |
60 | BLOCK@[51; 53) | 64 | BLOCK@[51; 53) |
61 | L_CURLY@[51; 52) | 65 | L_CURLY@[51; 52) "{" |
62 | R_CURLY@[52; 53) | 66 | R_CURLY@[52; 53) "}" |
63 | WHITESPACE@[53; 55) | 67 | WHITESPACE@[53; 55) "\n\n" |
64 | FN_DEF@[55; 239) | 68 | FN_DEF@[55; 239) |
65 | FN_KW@[55; 57) | 69 | FN_KW@[55; 57) "fn" |
66 | WHITESPACE@[57; 58) | 70 | WHITESPACE@[57; 58) " " |
67 | NAME@[58; 62) | 71 | NAME@[58; 62) |
68 | IDENT@[58; 62) "main" | 72 | IDENT@[58; 62) "main" |
69 | PARAM_LIST@[62; 64) | 73 | PARAM_LIST@[62; 64) |
70 | L_PAREN@[62; 63) | 74 | L_PAREN@[62; 63) "(" |
71 | R_PAREN@[63; 64) | 75 | R_PAREN@[63; 64) ")" |
72 | WHITESPACE@[64; 65) | 76 | WHITESPACE@[64; 65) " " |
73 | BLOCK@[65; 239) | 77 | BLOCK@[65; 239) |
74 | L_CURLY@[65; 66) | 78 | L_CURLY@[65; 66) "{" |
75 | WHITESPACE@[66; 71) | 79 | WHITESPACE@[66; 71) "\n " |
76 | LET_STMT@[71; 121) | 80 | LET_STMT@[71; 121) |
77 | LET_KW@[71; 74) | 81 | LET_KW@[71; 74) "let" |
78 | WHITESPACE@[74; 75) | 82 | WHITESPACE@[74; 75) " " |
79 | PLACEHOLDER_PAT@[75; 76) | 83 | PLACEHOLDER_PAT@[75; 76) |
80 | UNDERSCORE@[75; 76) | 84 | UNDERSCORE@[75; 76) "_" |
81 | COLON@[76; 77) | 85 | COLON@[76; 77) ":" |
82 | WHITESPACE@[77; 78) | 86 | WHITESPACE@[77; 78) " " |
83 | PATH_TYPE@[78; 121) | 87 | DYN_TRAIT_TYPE@[78; 121) |
84 | PATH@[78; 88) | 88 | TYPE_BOUND_LIST@[78; 121) |
85 | PATH_SEGMENT@[78; 88) | 89 | TYPE_BOUND@[78; 88) |
86 | NAME_REF@[78; 81) | 90 | PATH_TYPE@[78; 88) |
87 | IDENT@[78; 81) "Box" | 91 | PATH@[78; 88) |
88 | TYPE_ARG_LIST@[81; 88) | 92 | PATH_SEGMENT@[78; 88) |
89 | L_ANGLE@[81; 82) | 93 | NAME_REF@[78; 81) |
90 | TYPE_ARG@[82; 88) | 94 | IDENT@[78; 81) "Box" |
91 | PAREN_TYPE@[82; 88) | 95 | TYPE_ARG_LIST@[81; 88) |
92 | L_PAREN@[82; 83) | 96 | L_ANGLE@[81; 82) "<" |
93 | PATH_TYPE@[83; 87) | 97 | TYPE_ARG@[82; 88) |
94 | PATH@[83; 87) | 98 | PAREN_TYPE@[82; 88) |
95 | PATH_SEGMENT@[83; 87) | 99 | L_PAREN@[82; 83) "(" |
96 | NAME_REF@[83; 87) | 100 | PATH_TYPE@[83; 87) |
97 | IDENT@[83; 87) "Copy" | 101 | PATH@[83; 87) |
98 | R_PAREN@[87; 88) | 102 | PATH_SEGMENT@[83; 87) |
99 | err: `expected COMMA` | 103 | NAME_REF@[83; 87) |
100 | err: `expected R_ANGLE` | 104 | IDENT@[83; 87) "Copy" |
101 | WHITESPACE@[88; 89) | 105 | R_PAREN@[87; 88) ")" |
102 | PLUS@[89; 90) | 106 | err: `expected COMMA` |
103 | WHITESPACE@[90; 91) | 107 | err: `expected R_ANGLE` |
104 | L_PAREN@[91; 92) | 108 | WHITESPACE@[88; 89) " " |
105 | QUESTION@[92; 93) | 109 | PLUS@[89; 90) "+" |
106 | PATH_TYPE@[93; 98) | 110 | WHITESPACE@[90; 91) " " |
107 | PATH@[93; 98) | 111 | TYPE_BOUND@[91; 99) |
108 | PATH_SEGMENT@[93; 98) | 112 | L_PAREN@[91; 92) "(" |
109 | NAME_REF@[93; 98) | 113 | QUESTION@[92; 93) "?" |
110 | IDENT@[93; 98) "Sized" | 114 | PATH_TYPE@[93; 98) |
111 | R_PAREN@[98; 99) | 115 | PATH@[93; 98) |
112 | WHITESPACE@[99; 100) | 116 | PATH_SEGMENT@[93; 98) |
113 | PLUS@[100; 101) | 117 | NAME_REF@[93; 98) |
114 | WHITESPACE@[101; 102) | 118 | IDENT@[93; 98) "Sized" |
115 | L_PAREN@[102; 103) | 119 | R_PAREN@[98; 99) ")" |
116 | FOR_TYPE@[103; 120) | 120 | WHITESPACE@[99; 100) " " |
117 | FOR_KW@[103; 106) | 121 | PLUS@[100; 101) "+" |
118 | TYPE_PARAM_LIST@[106; 110) | 122 | WHITESPACE@[101; 102) " " |
119 | L_ANGLE@[106; 107) | 123 | TYPE_BOUND@[102; 121) |
120 | LIFETIME_PARAM@[107; 109) | 124 | L_PAREN@[102; 103) "(" |
121 | LIFETIME@[107; 109) "'a" | 125 | FOR_TYPE@[103; 120) |
122 | R_ANGLE@[109; 110) | 126 | FOR_KW@[103; 106) "for" |
123 | WHITESPACE@[110; 111) | 127 | TYPE_PARAM_LIST@[106; 110) |
124 | PATH_TYPE@[111; 120) | 128 | L_ANGLE@[106; 107) "<" |
125 | PATH@[111; 120) | 129 | LIFETIME_PARAM@[107; 109) |
126 | PATH_SEGMENT@[111; 120) | 130 | LIFETIME@[107; 109) "\'a" |
127 | NAME_REF@[111; 116) | 131 | R_ANGLE@[109; 110) ">" |
128 | IDENT@[111; 116) "Trait" | 132 | WHITESPACE@[110; 111) " " |
129 | TYPE_ARG_LIST@[116; 120) | 133 | PATH_TYPE@[111; 120) |
130 | L_ANGLE@[116; 117) | 134 | PATH@[111; 120) |
131 | LIFETIME_ARG@[117; 119) | 135 | PATH_SEGMENT@[111; 120) |
132 | LIFETIME@[117; 119) "'a" | 136 | NAME_REF@[111; 116) |
133 | R_ANGLE@[119; 120) | 137 | IDENT@[111; 116) "Trait" |
134 | R_PAREN@[120; 121) | 138 | TYPE_ARG_LIST@[116; 120) |
135 | err: `expected SEMI` | 139 | L_ANGLE@[116; 117) "<" |
136 | err: `expected expression` | 140 | LIFETIME_ARG@[117; 119) |
141 | LIFETIME@[117; 119) "\'a" | ||
142 | R_ANGLE@[119; 120) ">" | ||
143 | R_PAREN@[120; 121) ")" | ||
144 | err: `expected SEMI` | ||
145 | err: `expected expression` | ||
137 | EXPR_STMT@[121; 123) | 146 | EXPR_STMT@[121; 123) |
138 | ERROR@[121; 122) | 147 | ERROR@[121; 122) |
139 | R_ANGLE@[121; 122) | 148 | R_ANGLE@[121; 122) ">" |
140 | SEMI@[122; 123) | 149 | SEMI@[122; 123) ";" |
141 | WHITESPACE@[123; 128) | 150 | WHITESPACE@[123; 128) "\n " |
142 | LET_STMT@[128; 141) | 151 | LET_STMT@[128; 141) |
143 | LET_KW@[128; 131) | 152 | LET_KW@[128; 131) "let" |
144 | WHITESPACE@[131; 132) | 153 | WHITESPACE@[131; 132) " " |
145 | PLACEHOLDER_PAT@[132; 133) | 154 | PLACEHOLDER_PAT@[132; 133) |
146 | UNDERSCORE@[132; 133) | 155 | UNDERSCORE@[132; 133) "_" |
147 | COLON@[133; 134) | 156 | COLON@[133; 134) ":" |
148 | WHITESPACE@[134; 135) | 157 | WHITESPACE@[134; 135) " " |
149 | PATH_TYPE@[135; 141) | 158 | PATH_TYPE@[135; 141) |
150 | PATH@[135; 141) | 159 | PATH@[135; 141) |
151 | PATH_SEGMENT@[135; 141) | 160 | PATH_SEGMENT@[135; 141) |
152 | NAME_REF@[135; 138) | 161 | NAME_REF@[135; 138) |
153 | IDENT@[135; 138) "Box" | 162 | IDENT@[135; 138) "Box" |
154 | TYPE_ARG_LIST@[138; 141) | 163 | TYPE_ARG_LIST@[138; 141) |
155 | L_ANGLE@[138; 139) | 164 | L_ANGLE@[138; 139) "<" |
156 | TYPE_ARG@[139; 141) | 165 | TYPE_ARG@[139; 141) |
157 | PAREN_TYPE@[139; 141) | 166 | PAREN_TYPE@[139; 141) |
158 | L_PAREN@[139; 140) | 167 | L_PAREN@[139; 140) "(" |
159 | err: `expected type` | 168 | err: `expected type` |
160 | ERROR@[140; 141) | 169 | ERROR@[140; 141) |
161 | QUESTION@[140; 141) | 170 | QUESTION@[140; 141) "?" |
162 | err: `expected R_PAREN` | 171 | err: `expected R_PAREN` |
163 | err: `expected COMMA` | 172 | err: `expected COMMA` |
164 | err: `expected R_ANGLE` | 173 | err: `expected R_ANGLE` |
@@ -173,38 +182,38 @@ SOURCE_FILE@[0; 240) | |||
173 | err: `expected expression` | 182 | err: `expected expression` |
174 | EXPR_STMT@[146; 147) | 183 | EXPR_STMT@[146; 147) |
175 | ERROR@[146; 147) | 184 | ERROR@[146; 147) |
176 | R_PAREN@[146; 147) | 185 | R_PAREN@[146; 147) ")" |
177 | err: `expected SEMI` | 186 | err: `expected SEMI` |
178 | WHITESPACE@[147; 148) | 187 | WHITESPACE@[147; 148) " " |
179 | err: `expected expression` | 188 | err: `expected expression` |
180 | EXPR_STMT@[148; 149) | 189 | EXPR_STMT@[148; 149) |
181 | ERROR@[148; 149) | 190 | ERROR@[148; 149) |
182 | PLUS@[148; 149) | 191 | PLUS@[148; 149) "+" |
183 | err: `expected SEMI` | 192 | err: `expected SEMI` |
184 | WHITESPACE@[149; 150) | 193 | WHITESPACE@[149; 150) " " |
185 | EXPR_STMT@[150; 151) | 194 | EXPR_STMT@[150; 151) |
186 | PAREN_EXPR@[150; 151) | 195 | PAREN_EXPR@[150; 151) |
187 | L_PAREN@[150; 151) | 196 | L_PAREN@[150; 151) "(" |
188 | err: `expected expression` | 197 | err: `expected expression` |
189 | err: `expected R_PAREN` | 198 | err: `expected R_PAREN` |
190 | err: `expected SEMI` | 199 | err: `expected SEMI` |
191 | EXPR_STMT@[151; 157) | 200 | EXPR_STMT@[151; 157) |
192 | FOR_EXPR@[151; 157) | 201 | FOR_EXPR@[151; 157) |
193 | FOR_KW@[151; 154) | 202 | FOR_KW@[151; 154) "for" |
194 | err: `expected pattern` | 203 | err: `expected pattern` |
195 | ERROR@[154; 155) | 204 | ERROR@[154; 155) |
196 | L_ANGLE@[154; 155) | 205 | L_ANGLE@[154; 155) "<" |
197 | err: `expected IN_KW` | 206 | err: `expected IN_KW` |
198 | err: `expected expression` | 207 | err: `expected expression` |
199 | ERROR@[155; 157) | 208 | ERROR@[155; 157) |
200 | LIFETIME@[155; 157) "'a" | 209 | LIFETIME@[155; 157) "\'a" |
201 | err: `expected a block` | 210 | err: `expected a block` |
202 | err: `expected expression` | 211 | err: `expected expression` |
203 | EXPR_STMT@[157; 158) | 212 | EXPR_STMT@[157; 158) |
204 | ERROR@[157; 158) | 213 | ERROR@[157; 158) |
205 | R_ANGLE@[157; 158) | 214 | R_ANGLE@[157; 158) ">" |
206 | err: `expected SEMI` | 215 | err: `expected SEMI` |
207 | WHITESPACE@[158; 159) | 216 | WHITESPACE@[158; 159) " " |
208 | EXPR_STMT@[159; 180) | 217 | EXPR_STMT@[159; 180) |
209 | BIN_EXPR@[159; 180) | 218 | BIN_EXPR@[159; 180) |
210 | BIN_EXPR@[159; 178) | 219 | BIN_EXPR@[159; 178) |
@@ -215,96 +224,101 @@ SOURCE_FILE@[0; 240) | |||
215 | PATH_SEGMENT@[159; 164) | 224 | PATH_SEGMENT@[159; 164) |
216 | NAME_REF@[159; 164) | 225 | NAME_REF@[159; 164) |
217 | IDENT@[159; 164) "Trait" | 226 | IDENT@[159; 164) "Trait" |
218 | L_ANGLE@[164; 165) | 227 | L_ANGLE@[164; 165) "<" |
219 | err: `expected expression` | 228 | err: `expected expression` |
220 | ERROR@[165; 167) | 229 | ERROR@[165; 167) |
221 | LIFETIME@[165; 167) "'a" | 230 | LIFETIME@[165; 167) "\'a" |
222 | R_ANGLE@[167; 168) | 231 | R_ANGLE@[167; 168) ">" |
223 | err: `expected expression` | 232 | err: `expected expression` |
224 | ERROR@[168; 169) | 233 | ERROR@[168; 169) |
225 | R_PAREN@[168; 169) | 234 | R_PAREN@[168; 169) ")" |
226 | WHITESPACE@[169; 170) | 235 | WHITESPACE@[169; 170) " " |
227 | PLUS@[170; 171) | 236 | PLUS@[170; 171) "+" |
228 | WHITESPACE@[171; 172) | 237 | WHITESPACE@[171; 172) " " |
229 | PAREN_EXPR@[172; 178) | 238 | PAREN_EXPR@[172; 178) |
230 | L_PAREN@[172; 173) | 239 | L_PAREN@[172; 173) "(" |
231 | PATH_EXPR@[173; 177) | 240 | PATH_EXPR@[173; 177) |
232 | PATH@[173; 177) | 241 | PATH@[173; 177) |
233 | PATH_SEGMENT@[173; 177) | 242 | PATH_SEGMENT@[173; 177) |
234 | NAME_REF@[173; 177) | 243 | NAME_REF@[173; 177) |
235 | IDENT@[173; 177) "Copy" | 244 | IDENT@[173; 177) "Copy" |
236 | R_PAREN@[177; 178) | 245 | R_PAREN@[177; 178) ")" |
237 | R_ANGLE@[178; 179) | 246 | R_ANGLE@[178; 179) ">" |
238 | err: `expected expression` | 247 | err: `expected expression` |
239 | ERROR@[179; 180) | 248 | ERROR@[179; 180) |
240 | SEMI@[179; 180) | 249 | SEMI@[179; 180) ";" |
241 | err: `expected SEMI` | 250 | err: `expected SEMI` |
242 | WHITESPACE@[180; 185) | 251 | WHITESPACE@[180; 185) "\n " |
243 | LET_STMT@[185; 235) | 252 | LET_STMT@[185; 235) |
244 | LET_KW@[185; 188) | 253 | LET_KW@[185; 188) "let" |
245 | WHITESPACE@[188; 189) | 254 | WHITESPACE@[188; 189) " " |
246 | PLACEHOLDER_PAT@[189; 190) | 255 | PLACEHOLDER_PAT@[189; 190) |
247 | UNDERSCORE@[189; 190) | 256 | UNDERSCORE@[189; 190) "_" |
248 | COLON@[190; 191) | 257 | COLON@[190; 191) ":" |
249 | WHITESPACE@[191; 192) | 258 | WHITESPACE@[191; 192) " " |
250 | PATH_TYPE@[192; 235) | 259 | DYN_TRAIT_TYPE@[192; 235) |
251 | PATH@[192; 215) | 260 | TYPE_BOUND_LIST@[192; 235) |
252 | PATH_SEGMENT@[192; 215) | 261 | TYPE_BOUND@[192; 215) |
253 | NAME_REF@[192; 195) | 262 | PATH_TYPE@[192; 215) |
254 | IDENT@[192; 195) "Box" | 263 | PATH@[192; 215) |
255 | TYPE_ARG_LIST@[195; 215) | 264 | PATH_SEGMENT@[192; 215) |
256 | L_ANGLE@[195; 196) | 265 | NAME_REF@[192; 195) |
257 | TYPE_ARG@[196; 215) | 266 | IDENT@[192; 195) "Box" |
258 | PAREN_TYPE@[196; 215) | 267 | TYPE_ARG_LIST@[195; 215) |
259 | L_PAREN@[196; 197) | 268 | L_ANGLE@[195; 196) "<" |
260 | FOR_TYPE@[197; 214) | 269 | TYPE_ARG@[196; 215) |
261 | FOR_KW@[197; 200) | 270 | PAREN_TYPE@[196; 215) |
262 | TYPE_PARAM_LIST@[200; 204) | 271 | L_PAREN@[196; 197) "(" |
263 | L_ANGLE@[200; 201) | 272 | FOR_TYPE@[197; 214) |
264 | LIFETIME_PARAM@[201; 203) | 273 | FOR_KW@[197; 200) "for" |
265 | LIFETIME@[201; 203) "'a" | 274 | TYPE_PARAM_LIST@[200; 204) |
266 | R_ANGLE@[203; 204) | 275 | L_ANGLE@[200; 201) "<" |
267 | WHITESPACE@[204; 205) | 276 | LIFETIME_PARAM@[201; 203) |
268 | PATH_TYPE@[205; 214) | 277 | LIFETIME@[201; 203) "\'a" |
269 | PATH@[205; 214) | 278 | R_ANGLE@[203; 204) ">" |
270 | PATH_SEGMENT@[205; 214) | 279 | WHITESPACE@[204; 205) " " |
271 | NAME_REF@[205; 210) | 280 | PATH_TYPE@[205; 214) |
272 | IDENT@[205; 210) "Trait" | 281 | PATH@[205; 214) |
273 | TYPE_ARG_LIST@[210; 214) | 282 | PATH_SEGMENT@[205; 214) |
274 | L_ANGLE@[210; 211) | 283 | NAME_REF@[205; 210) |
275 | LIFETIME_ARG@[211; 213) | 284 | IDENT@[205; 210) "Trait" |
276 | LIFETIME@[211; 213) "'a" | 285 | TYPE_ARG_LIST@[210; 214) |
277 | R_ANGLE@[213; 214) | 286 | L_ANGLE@[210; 211) "<" |
278 | R_PAREN@[214; 215) | 287 | LIFETIME_ARG@[211; 213) |
279 | err: `expected COMMA` | 288 | LIFETIME@[211; 213) "\'a" |
280 | err: `expected R_ANGLE` | 289 | R_ANGLE@[213; 214) ">" |
281 | WHITESPACE@[215; 216) | 290 | R_PAREN@[214; 215) ")" |
282 | PLUS@[216; 217) | 291 | err: `expected COMMA` |
283 | WHITESPACE@[217; 218) | 292 | err: `expected R_ANGLE` |
284 | L_PAREN@[218; 219) | 293 | WHITESPACE@[215; 216) " " |
285 | PATH_TYPE@[219; 223) | 294 | PLUS@[216; 217) "+" |
286 | PATH@[219; 223) | 295 | WHITESPACE@[217; 218) " " |
287 | PATH_SEGMENT@[219; 223) | 296 | TYPE_BOUND@[218; 224) |
288 | NAME_REF@[219; 223) | 297 | L_PAREN@[218; 219) "(" |
289 | IDENT@[219; 223) "Copy" | 298 | PATH_TYPE@[219; 223) |
290 | R_PAREN@[223; 224) | 299 | PATH@[219; 223) |
291 | WHITESPACE@[224; 225) | 300 | PATH_SEGMENT@[219; 223) |
292 | PLUS@[225; 226) | 301 | NAME_REF@[219; 223) |
293 | WHITESPACE@[226; 227) | 302 | IDENT@[219; 223) "Copy" |
294 | L_PAREN@[227; 228) | 303 | R_PAREN@[223; 224) ")" |
295 | QUESTION@[228; 229) | 304 | WHITESPACE@[224; 225) " " |
296 | PATH_TYPE@[229; 234) | 305 | PLUS@[225; 226) "+" |
297 | PATH@[229; 234) | 306 | WHITESPACE@[226; 227) " " |
298 | PATH_SEGMENT@[229; 234) | 307 | TYPE_BOUND@[227; 235) |
299 | NAME_REF@[229; 234) | 308 | L_PAREN@[227; 228) "(" |
300 | IDENT@[229; 234) "Sized" | 309 | QUESTION@[228; 229) "?" |
301 | R_PAREN@[234; 235) | 310 | PATH_TYPE@[229; 234) |
302 | err: `expected SEMI` | 311 | PATH@[229; 234) |
303 | err: `expected expression` | 312 | PATH_SEGMENT@[229; 234) |
313 | NAME_REF@[229; 234) | ||
314 | IDENT@[229; 234) "Sized" | ||
315 | R_PAREN@[234; 235) ")" | ||
316 | err: `expected SEMI` | ||
317 | err: `expected expression` | ||
304 | EXPR_STMT@[235; 237) | 318 | EXPR_STMT@[235; 237) |
305 | ERROR@[235; 236) | 319 | ERROR@[235; 236) |
306 | R_ANGLE@[235; 236) | 320 | R_ANGLE@[235; 236) ">" |
307 | SEMI@[236; 237) | 321 | SEMI@[236; 237) ";" |
308 | WHITESPACE@[237; 238) | 322 | WHITESPACE@[237; 238) "\n" |
309 | R_CURLY@[238; 239) | 323 | R_CURLY@[238; 239) "}" |
310 | WHITESPACE@[239; 240) | 324 | WHITESPACE@[239; 240) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0025_nope.txt b/crates/ra_syntax/tests/data/parser/err/0025_nope.txt index e0824ca56..b8d769947 100644 --- a/crates/ra_syntax/tests/data/parser/err/0025_nope.txt +++ b/crates/ra_syntax/tests/data/parser/err/0025_nope.txt | |||
@@ -1,158 +1,158 @@ | |||
1 | SOURCE_FILE@[0; 575) | 1 | SOURCE_FILE@[0; 575) |
2 | FN_DEF@[0; 574) | 2 | FN_DEF@[0; 574) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 7) | 5 | NAME@[3; 7) |
6 | IDENT@[3; 7) "main" | 6 | IDENT@[3; 7) "main" |
7 | PARAM_LIST@[7; 9) | 7 | PARAM_LIST@[7; 9) |
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) "(" |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) ")" |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) " " |
11 | BLOCK@[10; 574) | 11 | BLOCK@[10; 574) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) "{" |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) "\n " |
14 | ENUM_DEF@[16; 152) | 14 | ENUM_DEF@[16; 152) |
15 | ENUM_KW@[16; 20) | 15 | ENUM_KW@[16; 20) "enum" |
16 | WHITESPACE@[20; 21) | 16 | WHITESPACE@[20; 21) " " |
17 | NAME@[21; 25) | 17 | NAME@[21; 25) |
18 | IDENT@[21; 25) "Test" | 18 | IDENT@[21; 25) "Test" |
19 | WHITESPACE@[25; 26) | 19 | WHITESPACE@[25; 26) " " |
20 | ENUM_VARIANT_LIST@[26; 152) | 20 | ENUM_VARIANT_LIST@[26; 152) |
21 | L_CURLY@[26; 27) | 21 | L_CURLY@[26; 27) "{" |
22 | WHITESPACE@[27; 36) | 22 | WHITESPACE@[27; 36) "\n " |
23 | ENUM_VARIANT@[36; 40) | 23 | ENUM_VARIANT@[36; 40) |
24 | NAME@[36; 40) | 24 | NAME@[36; 40) |
25 | IDENT@[36; 40) "Var1" | 25 | IDENT@[36; 40) "Var1" |
26 | COMMA@[40; 41) | 26 | COMMA@[40; 41) "," |
27 | WHITESPACE@[41; 50) | 27 | WHITESPACE@[41; 50) "\n " |
28 | ENUM_VARIANT@[50; 62) | 28 | ENUM_VARIANT@[50; 62) |
29 | NAME@[50; 54) | 29 | NAME@[50; 54) |
30 | IDENT@[50; 54) "Var2" | 30 | IDENT@[50; 54) "Var2" |
31 | POS_FIELD_DEF_LIST@[54; 62) | 31 | POS_FIELD_DEF_LIST@[54; 62) |
32 | L_PAREN@[54; 55) | 32 | L_PAREN@[54; 55) "(" |
33 | POS_FIELD_DEF@[55; 61) | 33 | POS_FIELD_DEF@[55; 61) |
34 | PATH_TYPE@[55; 61) | 34 | PATH_TYPE@[55; 61) |
35 | PATH@[55; 61) | 35 | PATH@[55; 61) |
36 | PATH_SEGMENT@[55; 61) | 36 | PATH_SEGMENT@[55; 61) |
37 | NAME_REF@[55; 61) | 37 | NAME_REF@[55; 61) |
38 | IDENT@[55; 61) "String" | 38 | IDENT@[55; 61) "String" |
39 | R_PAREN@[61; 62) | 39 | R_PAREN@[61; 62) ")" |
40 | COMMA@[62; 63) | 40 | COMMA@[62; 63) "," |
41 | WHITESPACE@[63; 72) | 41 | WHITESPACE@[63; 72) "\n " |
42 | ENUM_VARIANT@[72; 145) | 42 | ENUM_VARIANT@[72; 145) |
43 | NAME@[72; 76) | 43 | NAME@[72; 76) |
44 | IDENT@[72; 76) "Var3" | 44 | IDENT@[72; 76) "Var3" |
45 | WHITESPACE@[76; 77) | 45 | WHITESPACE@[76; 77) " " |
46 | NAMED_FIELD_DEF_LIST@[77; 145) | 46 | NAMED_FIELD_DEF_LIST@[77; 145) |
47 | L_CURLY@[77; 78) | 47 | L_CURLY@[77; 78) "{" |
48 | WHITESPACE@[78; 91) | 48 | WHITESPACE@[78; 91) "\n " |
49 | NAMED_FIELD_DEF@[91; 95) | 49 | NAMED_FIELD_DEF@[91; 95) |
50 | NAME@[91; 94) | 50 | NAME@[91; 94) |
51 | IDENT@[91; 94) "abc" | 51 | IDENT@[91; 94) "abc" |
52 | COLON@[94; 95) | 52 | COLON@[94; 95) ":" |
53 | err: `expected type` | 53 | err: `expected type` |
54 | err: `expected COMMA` | 54 | err: `expected COMMA` |
55 | WHITESPACE@[95; 96) | 55 | WHITESPACE@[95; 96) " " |
56 | err: `expected field` | 56 | err: `expected field` |
57 | ERROR@[96; 98) | 57 | ERROR@[96; 98) |
58 | L_CURLY@[96; 97) | 58 | L_CURLY@[96; 97) "{" |
59 | R_CURLY@[97; 98) | 59 | R_CURLY@[97; 98) "}" |
60 | err: `expected field declaration` | 60 | err: `expected field declaration` |
61 | ERROR@[98; 99) | 61 | ERROR@[98; 99) |
62 | COMMA@[98; 99) | 62 | COMMA@[98; 99) "," |
63 | WHITESPACE@[99; 100) | 63 | WHITESPACE@[99; 100) " " |
64 | COMMENT@[100; 135) | 64 | COMMENT@[100; 135) "//~ ERROR: expected t ..." |
65 | WHITESPACE@[135; 144) | 65 | WHITESPACE@[135; 144) "\n " |
66 | R_CURLY@[144; 145) | 66 | R_CURLY@[144; 145) "}" |
67 | COMMA@[145; 146) | 67 | COMMA@[145; 146) "," |
68 | WHITESPACE@[146; 151) | 68 | WHITESPACE@[146; 151) "\n " |
69 | R_CURLY@[151; 152) | 69 | R_CURLY@[151; 152) "}" |
70 | WHITESPACE@[152; 158) | 70 | WHITESPACE@[152; 158) "\n\n " |
71 | COMMENT@[158; 171) | 71 | COMMENT@[158; 171) "// recover..." |
72 | WHITESPACE@[171; 176) | 72 | WHITESPACE@[171; 176) "\n " |
73 | LET_STMT@[176; 186) | 73 | LET_STMT@[176; 186) |
74 | LET_KW@[176; 179) | 74 | LET_KW@[176; 179) "let" |
75 | WHITESPACE@[179; 180) | 75 | WHITESPACE@[179; 180) " " |
76 | BIND_PAT@[180; 181) | 76 | BIND_PAT@[180; 181) |
77 | NAME@[180; 181) | 77 | NAME@[180; 181) |
78 | IDENT@[180; 181) "a" | 78 | IDENT@[180; 181) "a" |
79 | WHITESPACE@[181; 182) | 79 | WHITESPACE@[181; 182) " " |
80 | EQ@[182; 183) | 80 | EQ@[182; 183) "=" |
81 | WHITESPACE@[183; 184) | 81 | WHITESPACE@[183; 184) " " |
82 | LITERAL@[184; 185) | 82 | LITERAL@[184; 185) |
83 | INT_NUMBER@[184; 185) "1" | 83 | INT_NUMBER@[184; 185) "1" |
84 | SEMI@[185; 186) | 84 | SEMI@[185; 186) ";" |
85 | WHITESPACE@[186; 191) | 85 | WHITESPACE@[186; 191) "\n " |
86 | ENUM_DEF@[191; 223) | 86 | ENUM_DEF@[191; 223) |
87 | ENUM_KW@[191; 195) | 87 | ENUM_KW@[191; 195) "enum" |
88 | WHITESPACE@[195; 196) | 88 | WHITESPACE@[195; 196) " " |
89 | NAME@[196; 201) | 89 | NAME@[196; 201) |
90 | IDENT@[196; 201) "Test2" | 90 | IDENT@[196; 201) "Test2" |
91 | WHITESPACE@[201; 202) | 91 | WHITESPACE@[201; 202) " " |
92 | ENUM_VARIANT_LIST@[202; 223) | 92 | ENUM_VARIANT_LIST@[202; 223) |
93 | L_CURLY@[202; 203) | 93 | L_CURLY@[202; 203) "{" |
94 | WHITESPACE@[203; 212) | 94 | WHITESPACE@[203; 212) "\n " |
95 | ENUM_VARIANT@[212; 216) | 95 | ENUM_VARIANT@[212; 216) |
96 | NAME@[212; 216) | 96 | NAME@[212; 216) |
97 | IDENT@[212; 216) "Fine" | 97 | IDENT@[212; 216) "Fine" |
98 | COMMA@[216; 217) | 98 | COMMA@[216; 217) "," |
99 | WHITESPACE@[217; 222) | 99 | WHITESPACE@[217; 222) "\n " |
100 | R_CURLY@[222; 223) | 100 | R_CURLY@[222; 223) "}" |
101 | WHITESPACE@[223; 229) | 101 | WHITESPACE@[223; 229) "\n\n " |
102 | ENUM_DEF@[229; 300) | 102 | ENUM_DEF@[229; 300) |
103 | ENUM_KW@[229; 233) | 103 | ENUM_KW@[229; 233) "enum" |
104 | WHITESPACE@[233; 234) | 104 | WHITESPACE@[233; 234) " " |
105 | NAME@[234; 239) | 105 | NAME@[234; 239) |
106 | IDENT@[234; 239) "Test3" | 106 | IDENT@[234; 239) "Test3" |
107 | WHITESPACE@[239; 240) | 107 | WHITESPACE@[239; 240) " " |
108 | ENUM_VARIANT_LIST@[240; 300) | 108 | ENUM_VARIANT_LIST@[240; 300) |
109 | L_CURLY@[240; 241) | 109 | L_CURLY@[240; 241) "{" |
110 | WHITESPACE@[241; 250) | 110 | WHITESPACE@[241; 250) "\n " |
111 | ENUM_VARIANT@[250; 293) | 111 | ENUM_VARIANT@[250; 293) |
112 | NAME@[250; 259) | 112 | NAME@[250; 259) |
113 | IDENT@[250; 259) "StillFine" | 113 | IDENT@[250; 259) "StillFine" |
114 | WHITESPACE@[259; 260) | 114 | WHITESPACE@[259; 260) " " |
115 | NAMED_FIELD_DEF_LIST@[260; 293) | 115 | NAMED_FIELD_DEF_LIST@[260; 293) |
116 | L_CURLY@[260; 261) | 116 | L_CURLY@[260; 261) "{" |
117 | WHITESPACE@[261; 274) | 117 | WHITESPACE@[261; 274) "\n " |
118 | NAMED_FIELD_DEF@[274; 282) | 118 | NAMED_FIELD_DEF@[274; 282) |
119 | NAME@[274; 277) | 119 | NAME@[274; 277) |
120 | IDENT@[274; 277) "def" | 120 | IDENT@[274; 277) "def" |
121 | COLON@[277; 278) | 121 | COLON@[277; 278) ":" |
122 | WHITESPACE@[278; 279) | 122 | WHITESPACE@[278; 279) " " |
123 | PATH_TYPE@[279; 282) | 123 | PATH_TYPE@[279; 282) |
124 | PATH@[279; 282) | 124 | PATH@[279; 282) |
125 | PATH_SEGMENT@[279; 282) | 125 | PATH_SEGMENT@[279; 282) |
126 | NAME_REF@[279; 282) | 126 | NAME_REF@[279; 282) |
127 | IDENT@[279; 282) "i32" | 127 | IDENT@[279; 282) "i32" |
128 | COMMA@[282; 283) | 128 | COMMA@[282; 283) "," |
129 | WHITESPACE@[283; 292) | 129 | WHITESPACE@[283; 292) "\n " |
130 | R_CURLY@[292; 293) | 130 | R_CURLY@[292; 293) "}" |
131 | COMMA@[293; 294) | 131 | COMMA@[293; 294) "," |
132 | WHITESPACE@[294; 299) | 132 | WHITESPACE@[294; 299) "\n " |
133 | R_CURLY@[299; 300) | 133 | R_CURLY@[299; 300) "}" |
134 | WHITESPACE@[300; 306) | 134 | WHITESPACE@[300; 306) "\n\n " |
135 | EXPR_STMT@[306; 459) | 135 | EXPR_STMT@[306; 459) |
136 | BLOCK_EXPR@[306; 459) | 136 | BLOCK_EXPR@[306; 459) |
137 | BLOCK@[306; 459) | 137 | BLOCK@[306; 459) |
138 | L_CURLY@[306; 307) | 138 | L_CURLY@[306; 307) "{" |
139 | WHITESPACE@[307; 316) | 139 | WHITESPACE@[307; 316) "\n " |
140 | ENUM_DEF@[316; 453) | 140 | ENUM_DEF@[316; 453) |
141 | COMMENT@[316; 329) | 141 | COMMENT@[316; 329) "// fail again" |
142 | WHITESPACE@[329; 338) | 142 | WHITESPACE@[329; 338) "\n " |
143 | ENUM_KW@[338; 342) | 143 | ENUM_KW@[338; 342) "enum" |
144 | WHITESPACE@[342; 343) | 144 | WHITESPACE@[342; 343) " " |
145 | NAME@[343; 348) | 145 | NAME@[343; 348) |
146 | IDENT@[343; 348) "Test4" | 146 | IDENT@[343; 348) "Test4" |
147 | WHITESPACE@[348; 349) | 147 | WHITESPACE@[348; 349) " " |
148 | ENUM_VARIANT_LIST@[349; 453) | 148 | ENUM_VARIANT_LIST@[349; 453) |
149 | L_CURLY@[349; 350) | 149 | L_CURLY@[349; 350) "{" |
150 | WHITESPACE@[350; 363) | 150 | WHITESPACE@[350; 363) "\n " |
151 | ENUM_VARIANT@[363; 372) | 151 | ENUM_VARIANT@[363; 372) |
152 | NAME@[363; 367) | 152 | NAME@[363; 367) |
153 | IDENT@[363; 367) "Nope" | 153 | IDENT@[363; 367) "Nope" |
154 | POS_FIELD_DEF_LIST@[367; 372) | 154 | POS_FIELD_DEF_LIST@[367; 372) |
155 | L_PAREN@[367; 368) | 155 | L_PAREN@[367; 368) "(" |
156 | POS_FIELD_DEF@[368; 371) | 156 | POS_FIELD_DEF@[368; 371) |
157 | PATH_TYPE@[368; 371) | 157 | PATH_TYPE@[368; 371) |
158 | PATH@[368; 371) | 158 | PATH@[368; 371) |
@@ -160,44 +160,44 @@ SOURCE_FILE@[0; 575) | |||
160 | NAME_REF@[368; 371) | 160 | NAME_REF@[368; 371) |
161 | IDENT@[368; 371) "i32" | 161 | IDENT@[368; 371) "i32" |
162 | err: `expected COMMA` | 162 | err: `expected COMMA` |
163 | WHITESPACE@[371; 372) | 163 | WHITESPACE@[371; 372) " " |
164 | err: `expected a type` | 164 | err: `expected a type` |
165 | err: `expected R_PAREN` | 165 | err: `expected R_PAREN` |
166 | err: `expected COMMA` | 166 | err: `expected COMMA` |
167 | err: `expected enum variant` | 167 | err: `expected enum variant` |
168 | ERROR@[372; 372) | 168 | ERROR@[372; 372) |
169 | ERROR@[372; 374) | 169 | ERROR@[372; 374) |
170 | L_CURLY@[372; 373) | 170 | L_CURLY@[372; 373) "{" |
171 | R_CURLY@[373; 374) | 171 | R_CURLY@[373; 374) "}" |
172 | err: `expected enum variant` | 172 | err: `expected enum variant` |
173 | ERROR@[374; 375) | 173 | ERROR@[374; 375) |
174 | R_PAREN@[374; 375) | 174 | R_PAREN@[374; 375) ")" |
175 | WHITESPACE@[375; 376) | 175 | WHITESPACE@[375; 376) " " |
176 | COMMENT@[376; 396) | 176 | COMMENT@[376; 396) "//~ ERROR: found `{`" |
177 | WHITESPACE@[396; 422) | 177 | WHITESPACE@[396; 422) "\n ..." |
178 | COMMENT@[422; 443) | 178 | COMMENT@[422; 443) "//~^ ERROR: found `{`" |
179 | WHITESPACE@[443; 452) | 179 | WHITESPACE@[443; 452) "\n " |
180 | R_CURLY@[452; 453) | 180 | R_CURLY@[452; 453) "}" |
181 | WHITESPACE@[453; 458) | 181 | WHITESPACE@[453; 458) "\n " |
182 | R_CURLY@[458; 459) | 182 | R_CURLY@[458; 459) "}" |
183 | WHITESPACE@[459; 464) | 183 | WHITESPACE@[459; 464) "\n " |
184 | COMMENT@[464; 486) | 184 | COMMENT@[464; 486) "// still recover later" |
185 | WHITESPACE@[486; 491) | 185 | WHITESPACE@[486; 491) "\n " |
186 | LET_STMT@[491; 510) | 186 | LET_STMT@[491; 510) |
187 | LET_KW@[491; 494) | 187 | LET_KW@[491; 494) "let" |
188 | WHITESPACE@[494; 495) | 188 | WHITESPACE@[494; 495) " " |
189 | BIND_PAT@[495; 505) | 189 | BIND_PAT@[495; 505) |
190 | NAME@[495; 505) | 190 | NAME@[495; 505) |
191 | IDENT@[495; 505) "bad_syntax" | 191 | IDENT@[495; 505) "bad_syntax" |
192 | WHITESPACE@[505; 506) | 192 | WHITESPACE@[505; 506) " " |
193 | EQ@[506; 507) | 193 | EQ@[506; 507) "=" |
194 | WHITESPACE@[507; 508) | 194 | WHITESPACE@[507; 508) " " |
195 | err: `expected expression` | 195 | err: `expected expression` |
196 | ERROR@[508; 509) | 196 | ERROR@[508; 509) |
197 | UNDERSCORE@[508; 509) | 197 | UNDERSCORE@[508; 509) "_" |
198 | SEMI@[509; 510) | 198 | SEMI@[509; 510) ";" |
199 | WHITESPACE@[510; 511) | 199 | WHITESPACE@[510; 511) " " |
200 | COMMENT@[511; 572) | 200 | COMMENT@[511; 572) "//~ ERROR: expected e ..." |
201 | WHITESPACE@[572; 573) | 201 | WHITESPACE@[572; 573) "\n" |
202 | R_CURLY@[573; 574) | 202 | R_CURLY@[573; 574) "}" |
203 | WHITESPACE@[574; 575) | 203 | WHITESPACE@[574; 575) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0026_imp_recovery.txt b/crates/ra_syntax/tests/data/parser/err/0026_imp_recovery.txt index 9b5fadcf7..cfd06c9c9 100644 --- a/crates/ra_syntax/tests/data/parser/err/0026_imp_recovery.txt +++ b/crates/ra_syntax/tests/data/parser/err/0026_imp_recovery.txt | |||
@@ -1,47 +1,49 @@ | |||
1 | SOURCE_FILE@[0; 38) | 1 | SOURCE_FILE@[0; 38) |
2 | IMPL_BLOCK@[0; 14) | 2 | IMPL_BLOCK@[0; 14) |
3 | IMPL_KW@[0; 4) | 3 | IMPL_KW@[0; 4) "impl" |
4 | TYPE_PARAM_LIST@[4; 14) | 4 | TYPE_PARAM_LIST@[4; 14) |
5 | L_ANGLE@[4; 5) | 5 | L_ANGLE@[4; 5) "<" |
6 | TYPE_PARAM@[5; 13) | 6 | TYPE_PARAM@[5; 13) |
7 | NAME@[5; 6) | 7 | NAME@[5; 6) |
8 | IDENT@[5; 6) "T" | 8 | IDENT@[5; 6) "T" |
9 | COLON@[6; 7) | 9 | COLON@[6; 7) ":" |
10 | WHITESPACE@[7; 8) | 10 | WHITESPACE@[7; 8) " " |
11 | PATH_TYPE@[8; 13) | 11 | TYPE_BOUND_LIST@[8; 13) |
12 | PATH@[8; 13) | 12 | TYPE_BOUND@[8; 13) |
13 | PATH_SEGMENT@[8; 13) | 13 | PATH_TYPE@[8; 13) |
14 | NAME_REF@[8; 13) | 14 | PATH@[8; 13) |
15 | IDENT@[8; 13) "Clone" | 15 | PATH_SEGMENT@[8; 13) |
16 | R_ANGLE@[13; 14) | 16 | NAME_REF@[8; 13) |
17 | IDENT@[8; 13) "Clone" | ||
18 | R_ANGLE@[13; 14) ">" | ||
17 | err: `expected trait or type` | 19 | err: `expected trait or type` |
18 | err: `expected `{`` | 20 | err: `expected `{`` |
19 | WHITESPACE@[14; 15) | 21 | WHITESPACE@[14; 15) "\n" |
20 | IMPL_BLOCK@[15; 37) | 22 | IMPL_BLOCK@[15; 37) |
21 | IMPL_KW@[15; 19) | 23 | IMPL_KW@[15; 19) "impl" |
22 | TYPE_PARAM_LIST@[19; 22) | 24 | TYPE_PARAM_LIST@[19; 22) |
23 | L_ANGLE@[19; 20) | 25 | L_ANGLE@[19; 20) "<" |
24 | TYPE_PARAM@[20; 21) | 26 | TYPE_PARAM@[20; 21) |
25 | NAME@[20; 21) | 27 | NAME@[20; 21) |
26 | IDENT@[20; 21) "T" | 28 | IDENT@[20; 21) "T" |
27 | R_ANGLE@[21; 22) | 29 | R_ANGLE@[21; 22) ">" |
28 | WHITESPACE@[22; 23) | 30 | WHITESPACE@[22; 23) " " |
29 | PATH_TYPE@[23; 34) | 31 | PATH_TYPE@[23; 34) |
30 | PATH@[23; 34) | 32 | PATH@[23; 34) |
31 | PATH_SEGMENT@[23; 34) | 33 | PATH_SEGMENT@[23; 34) |
32 | NAME_REF@[23; 31) | 34 | NAME_REF@[23; 31) |
33 | IDENT@[23; 31) "OnceCell" | 35 | IDENT@[23; 31) "OnceCell" |
34 | TYPE_ARG_LIST@[31; 34) | 36 | TYPE_ARG_LIST@[31; 34) |
35 | L_ANGLE@[31; 32) | 37 | L_ANGLE@[31; 32) "<" |
36 | TYPE_ARG@[32; 33) | 38 | TYPE_ARG@[32; 33) |
37 | PATH_TYPE@[32; 33) | 39 | PATH_TYPE@[32; 33) |
38 | PATH@[32; 33) | 40 | PATH@[32; 33) |
39 | PATH_SEGMENT@[32; 33) | 41 | PATH_SEGMENT@[32; 33) |
40 | NAME_REF@[32; 33) | 42 | NAME_REF@[32; 33) |
41 | IDENT@[32; 33) "T" | 43 | IDENT@[32; 33) "T" |
42 | R_ANGLE@[33; 34) | 44 | R_ANGLE@[33; 34) ">" |
43 | WHITESPACE@[34; 35) | 45 | WHITESPACE@[34; 35) " " |
44 | ITEM_LIST@[35; 37) | 46 | ITEM_LIST@[35; 37) |
45 | L_CURLY@[35; 36) | 47 | L_CURLY@[35; 36) "{" |
46 | R_CURLY@[36; 37) | 48 | R_CURLY@[36; 37) "}" |
47 | WHITESPACE@[37; 38) | 49 | WHITESPACE@[37; 38) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0027_incomplere_where_for.txt b/crates/ra_syntax/tests/data/parser/err/0027_incomplere_where_for.txt index 8a2a73b9b..c87c2c936 100644 --- a/crates/ra_syntax/tests/data/parser/err/0027_incomplere_where_for.txt +++ b/crates/ra_syntax/tests/data/parser/err/0027_incomplere_where_for.txt | |||
@@ -1,28 +1,28 @@ | |||
1 | SOURCE_FILE@[0; 30) | 1 | SOURCE_FILE@[0; 30) |
2 | FN_DEF@[0; 29) | 2 | FN_DEF@[0; 29) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 6) | 5 | NAME@[3; 6) |
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | PARAM_LIST@[6; 8) | 7 | PARAM_LIST@[6; 8) |
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) "(" |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) ")" |
10 | WHITESPACE@[8; 13) | 10 | WHITESPACE@[8; 13) "\n " |
11 | WHERE_CLAUSE@[13; 26) | 11 | WHERE_CLAUSE@[13; 26) |
12 | WHERE_KW@[13; 18) | 12 | WHERE_KW@[13; 18) "where" |
13 | WHITESPACE@[18; 19) | 13 | WHITESPACE@[18; 19) " " |
14 | WHERE_PRED@[19; 26) | 14 | WHERE_PRED@[19; 26) |
15 | FOR_TYPE@[19; 26) | 15 | FOR_TYPE@[19; 26) |
16 | FOR_KW@[19; 22) | 16 | FOR_KW@[19; 22) "for" |
17 | TYPE_PARAM_LIST@[22; 26) | 17 | TYPE_PARAM_LIST@[22; 26) |
18 | L_ANGLE@[22; 23) | 18 | L_ANGLE@[22; 23) "<" |
19 | LIFETIME_PARAM@[23; 25) | 19 | LIFETIME_PARAM@[23; 25) |
20 | LIFETIME@[23; 25) "'a" | 20 | LIFETIME@[23; 25) "\'a" |
21 | R_ANGLE@[25; 26) | 21 | R_ANGLE@[25; 26) ">" |
22 | err: `expected a path` | 22 | err: `expected a path` |
23 | err: `expected colon` | 23 | err: `expected colon` |
24 | WHITESPACE@[26; 27) | 24 | WHITESPACE@[26; 27) "\n" |
25 | BLOCK@[27; 29) | 25 | BLOCK@[27; 29) |
26 | L_CURLY@[27; 28) | 26 | L_CURLY@[27; 28) "{" |
27 | R_CURLY@[28; 29) | 27 | R_CURLY@[28; 29) "}" |
28 | WHITESPACE@[29; 30) | 28 | WHITESPACE@[29; 30) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.txt b/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.txt index 181ccfa25..97ec4a5ab 100644 --- a/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.txt +++ b/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.txt | |||
@@ -5,80 +5,80 @@ SOURCE_FILE@[0; 349) | |||
5 | NAME_REF@[0; 5) | 5 | NAME_REF@[0; 5) |
6 | IDENT@[0; 5) "macro" | 6 | IDENT@[0; 5) "macro" |
7 | err: `expected EXCL` | 7 | err: `expected EXCL` |
8 | WHITESPACE@[5; 6) | 8 | WHITESPACE@[5; 6) " " |
9 | NAME@[6; 21) | 9 | NAME@[6; 21) |
10 | IDENT@[6; 21) "parse_use_trees" | 10 | IDENT@[6; 21) "parse_use_trees" |
11 | TOKEN_TREE@[21; 41) | 11 | TOKEN_TREE@[21; 41) |
12 | L_PAREN@[21; 22) | 12 | L_PAREN@[21; 22) "(" |
13 | DOLLAR@[22; 23) | 13 | DOLLAR@[22; 23) "$" |
14 | TOKEN_TREE@[23; 32) | 14 | TOKEN_TREE@[23; 32) |
15 | L_PAREN@[23; 24) | 15 | L_PAREN@[23; 24) "(" |
16 | DOLLAR@[24; 25) | 16 | DOLLAR@[24; 25) "$" |
17 | IDENT@[25; 26) "s" | 17 | IDENT@[25; 26) "s" |
18 | COLON@[26; 27) | 18 | COLON@[26; 27) ":" |
19 | IDENT@[27; 31) "expr" | 19 | IDENT@[27; 31) "expr" |
20 | R_PAREN@[31; 32) | 20 | R_PAREN@[31; 32) ")" |
21 | COMMA@[32; 33) | 21 | COMMA@[32; 33) "," |
22 | STAR@[33; 34) | 22 | STAR@[33; 34) "*" |
23 | WHITESPACE@[34; 35) | 23 | WHITESPACE@[34; 35) " " |
24 | DOLLAR@[35; 36) | 24 | DOLLAR@[35; 36) "$" |
25 | TOKEN_TREE@[36; 39) | 25 | TOKEN_TREE@[36; 39) |
26 | L_PAREN@[36; 37) | 26 | L_PAREN@[36; 37) "(" |
27 | COMMA@[37; 38) | 27 | COMMA@[37; 38) "," |
28 | R_PAREN@[38; 39) | 28 | R_PAREN@[38; 39) ")" |
29 | STAR@[39; 40) | 29 | STAR@[39; 40) "*" |
30 | R_PAREN@[40; 41) | 30 | R_PAREN@[40; 41) ")" |
31 | err: `expected SEMI` | 31 | err: `expected SEMI` |
32 | WHITESPACE@[41; 42) | 32 | WHITESPACE@[41; 42) " " |
33 | err: `expected an item` | 33 | err: `expected an item` |
34 | ERROR@[42; 93) | 34 | ERROR@[42; 93) |
35 | L_CURLY@[42; 43) | 35 | L_CURLY@[42; 43) "{" |
36 | WHITESPACE@[43; 48) | 36 | WHITESPACE@[43; 48) "\n " |
37 | MACRO_CALL@[48; 91) | 37 | MACRO_CALL@[48; 91) |
38 | PATH@[48; 51) | 38 | PATH@[48; 51) |
39 | PATH_SEGMENT@[48; 51) | 39 | PATH_SEGMENT@[48; 51) |
40 | NAME_REF@[48; 51) | 40 | NAME_REF@[48; 51) |
41 | IDENT@[48; 51) "vec" | 41 | IDENT@[48; 51) "vec" |
42 | EXCL@[51; 52) | 42 | EXCL@[51; 52) "!" |
43 | TOKEN_TREE@[52; 91) | 43 | TOKEN_TREE@[52; 91) |
44 | L_BRACK@[52; 53) | 44 | L_BRACK@[52; 53) "[" |
45 | WHITESPACE@[53; 62) | 45 | WHITESPACE@[53; 62) "\n " |
46 | DOLLAR@[62; 63) | 46 | DOLLAR@[62; 63) "$" |
47 | TOKEN_TREE@[63; 84) | 47 | TOKEN_TREE@[63; 84) |
48 | L_PAREN@[63; 64) | 48 | L_PAREN@[63; 64) "(" |
49 | IDENT@[64; 78) "parse_use_tree" | 49 | IDENT@[64; 78) "parse_use_tree" |
50 | TOKEN_TREE@[78; 82) | 50 | TOKEN_TREE@[78; 82) |
51 | L_PAREN@[78; 79) | 51 | L_PAREN@[78; 79) "(" |
52 | DOLLAR@[79; 80) | 52 | DOLLAR@[79; 80) "$" |
53 | IDENT@[80; 81) "s" | 53 | IDENT@[80; 81) "s" |
54 | R_PAREN@[81; 82) | 54 | R_PAREN@[81; 82) ")" |
55 | COMMA@[82; 83) | 55 | COMMA@[82; 83) "," |
56 | R_PAREN@[83; 84) | 56 | R_PAREN@[83; 84) ")" |
57 | STAR@[84; 85) | 57 | STAR@[84; 85) "*" |
58 | WHITESPACE@[85; 90) | 58 | WHITESPACE@[85; 90) "\n " |
59 | R_BRACK@[90; 91) | 59 | R_BRACK@[90; 91) "]" |
60 | WHITESPACE@[91; 92) | 60 | WHITESPACE@[91; 92) "\n" |
61 | R_CURLY@[92; 93) | 61 | R_CURLY@[92; 93) "}" |
62 | WHITESPACE@[93; 95) | 62 | WHITESPACE@[93; 95) "\n\n" |
63 | FN_DEF@[95; 348) | 63 | FN_DEF@[95; 348) |
64 | ATTR@[95; 102) | 64 | ATTR@[95; 102) |
65 | POUND@[95; 96) | 65 | POUND@[95; 96) "#" |
66 | TOKEN_TREE@[96; 102) | 66 | TOKEN_TREE@[96; 102) |
67 | L_BRACK@[96; 97) | 67 | L_BRACK@[96; 97) "[" |
68 | IDENT@[97; 101) "test" | 68 | IDENT@[97; 101) "test" |
69 | R_BRACK@[101; 102) | 69 | R_BRACK@[101; 102) "]" |
70 | WHITESPACE@[102; 103) | 70 | WHITESPACE@[102; 103) "\n" |
71 | FN_KW@[103; 105) | 71 | FN_KW@[103; 105) "fn" |
72 | WHITESPACE@[105; 106) | 72 | WHITESPACE@[105; 106) " " |
73 | NAME@[106; 125) | 73 | NAME@[106; 125) |
74 | IDENT@[106; 125) "test_use_tree_merge" | 74 | IDENT@[106; 125) "test_use_tree_merge" |
75 | PARAM_LIST@[125; 127) | 75 | PARAM_LIST@[125; 127) |
76 | L_PAREN@[125; 126) | 76 | L_PAREN@[125; 126) "(" |
77 | R_PAREN@[126; 127) | 77 | R_PAREN@[126; 127) ")" |
78 | WHITESPACE@[127; 128) | 78 | WHITESPACE@[127; 128) " " |
79 | BLOCK@[128; 348) | 79 | BLOCK@[128; 348) |
80 | L_CURLY@[128; 129) | 80 | L_CURLY@[128; 129) "{" |
81 | WHITESPACE@[129; 134) | 81 | WHITESPACE@[129; 134) "\n " |
82 | EXPR_STMT@[134; 139) | 82 | EXPR_STMT@[134; 139) |
83 | PATH_EXPR@[134; 139) | 83 | PATH_EXPR@[134; 139) |
84 | PATH@[134; 139) | 84 | PATH@[134; 139) |
@@ -86,7 +86,7 @@ SOURCE_FILE@[0; 349) | |||
86 | NAME_REF@[134; 139) | 86 | NAME_REF@[134; 139) |
87 | IDENT@[134; 139) "macro" | 87 | IDENT@[134; 139) "macro" |
88 | err: `expected SEMI` | 88 | err: `expected SEMI` |
89 | WHITESPACE@[139; 140) | 89 | WHITESPACE@[139; 140) " " |
90 | EXPR_STMT@[140; 154) | 90 | EXPR_STMT@[140; 154) |
91 | CALL_EXPR@[140; 154) | 91 | CALL_EXPR@[140; 154) |
92 | PATH_EXPR@[140; 150) | 92 | PATH_EXPR@[140; 150) |
@@ -95,15 +95,15 @@ SOURCE_FILE@[0; 349) | |||
95 | NAME_REF@[140; 150) | 95 | NAME_REF@[140; 150) |
96 | IDENT@[140; 150) "test_merge" | 96 | IDENT@[140; 150) "test_merge" |
97 | ARG_LIST@[150; 154) | 97 | ARG_LIST@[150; 154) |
98 | L_PAREN@[150; 151) | 98 | L_PAREN@[150; 151) "(" |
99 | ARRAY_EXPR@[151; 154) | 99 | ARRAY_EXPR@[151; 154) |
100 | L_BRACK@[151; 152) | 100 | L_BRACK@[151; 152) "[" |
101 | err: `expected expression` | 101 | err: `expected expression` |
102 | ERROR@[152; 153) | 102 | ERROR@[152; 153) |
103 | DOLLAR@[152; 153) | 103 | DOLLAR@[152; 153) "$" |
104 | err: `expected COMMA` | 104 | err: `expected COMMA` |
105 | PAREN_EXPR@[153; 154) | 105 | PAREN_EXPR@[153; 154) |
106 | L_PAREN@[153; 154) | 106 | L_PAREN@[153; 154) "(" |
107 | err: `expected expression` | 107 | err: `expected expression` |
108 | err: `expected R_PAREN` | 108 | err: `expected R_PAREN` |
109 | err: `expected COMMA` | 109 | err: `expected COMMA` |
@@ -114,7 +114,7 @@ SOURCE_FILE@[0; 349) | |||
114 | err: `expected expression` | 114 | err: `expected expression` |
115 | EXPR_STMT@[154; 155) | 115 | EXPR_STMT@[154; 155) |
116 | ERROR@[154; 155) | 116 | ERROR@[154; 155) |
117 | DOLLAR@[154; 155) | 117 | DOLLAR@[154; 155) "$" |
118 | err: `expected SEMI` | 118 | err: `expected SEMI` |
119 | EXPR_STMT@[155; 160) | 119 | EXPR_STMT@[155; 160) |
120 | PATH_EXPR@[155; 160) | 120 | PATH_EXPR@[155; 160) |
@@ -126,7 +126,7 @@ SOURCE_FILE@[0; 349) | |||
126 | err: `expected expression` | 126 | err: `expected expression` |
127 | EXPR_STMT@[160; 161) | 127 | EXPR_STMT@[160; 161) |
128 | ERROR@[160; 161) | 128 | ERROR@[160; 161) |
129 | COLON@[160; 161) | 129 | COLON@[160; 161) ":" |
130 | err: `expected SEMI` | 130 | err: `expected SEMI` |
131 | EXPR_STMT@[161; 165) | 131 | EXPR_STMT@[161; 165) |
132 | PATH_EXPR@[161; 165) | 132 | PATH_EXPR@[161; 165) |
@@ -138,59 +138,59 @@ SOURCE_FILE@[0; 349) | |||
138 | err: `expected expression` | 138 | err: `expected expression` |
139 | EXPR_STMT@[165; 166) | 139 | EXPR_STMT@[165; 166) |
140 | ERROR@[165; 166) | 140 | ERROR@[165; 166) |
141 | R_PAREN@[165; 166) | 141 | R_PAREN@[165; 166) ")" |
142 | err: `expected SEMI` | 142 | err: `expected SEMI` |
143 | err: `expected expression` | 143 | err: `expected expression` |
144 | EXPR_STMT@[166; 167) | 144 | EXPR_STMT@[166; 167) |
145 | ERROR@[166; 167) | 145 | ERROR@[166; 167) |
146 | COMMA@[166; 167) | 146 | COMMA@[166; 167) "," |
147 | err: `expected SEMI` | 147 | err: `expected SEMI` |
148 | EXPR_STMT@[167; 170) | 148 | EXPR_STMT@[167; 170) |
149 | PREFIX_EXPR@[167; 170) | 149 | PREFIX_EXPR@[167; 170) |
150 | STAR@[167; 168) | 150 | STAR@[167; 168) "*" |
151 | WHITESPACE@[168; 169) | 151 | WHITESPACE@[168; 169) " " |
152 | err: `expected expression` | 152 | err: `expected expression` |
153 | ERROR@[169; 170) | 153 | ERROR@[169; 170) |
154 | DOLLAR@[169; 170) | 154 | DOLLAR@[169; 170) "$" |
155 | err: `expected SEMI` | 155 | err: `expected SEMI` |
156 | EXPR_STMT@[170; 171) | 156 | EXPR_STMT@[170; 171) |
157 | PAREN_EXPR@[170; 171) | 157 | PAREN_EXPR@[170; 171) |
158 | L_PAREN@[170; 171) | 158 | L_PAREN@[170; 171) "(" |
159 | err: `expected expression` | 159 | err: `expected expression` |
160 | err: `expected R_PAREN` | 160 | err: `expected R_PAREN` |
161 | err: `expected SEMI` | 161 | err: `expected SEMI` |
162 | err: `expected expression` | 162 | err: `expected expression` |
163 | EXPR_STMT@[171; 172) | 163 | EXPR_STMT@[171; 172) |
164 | ERROR@[171; 172) | 164 | ERROR@[171; 172) |
165 | COMMA@[171; 172) | 165 | COMMA@[171; 172) "," |
166 | err: `expected SEMI` | 166 | err: `expected SEMI` |
167 | err: `expected expression` | 167 | err: `expected expression` |
168 | EXPR_STMT@[172; 173) | 168 | EXPR_STMT@[172; 173) |
169 | ERROR@[172; 173) | 169 | ERROR@[172; 173) |
170 | R_PAREN@[172; 173) | 170 | R_PAREN@[172; 173) ")" |
171 | err: `expected SEMI` | 171 | err: `expected SEMI` |
172 | EXPR_STMT@[173; 175) | 172 | EXPR_STMT@[173; 175) |
173 | PREFIX_EXPR@[173; 175) | 173 | PREFIX_EXPR@[173; 175) |
174 | STAR@[173; 174) | 174 | STAR@[173; 174) "*" |
175 | err: `expected expression` | 175 | err: `expected expression` |
176 | ERROR@[174; 175) | 176 | ERROR@[174; 175) |
177 | R_BRACK@[174; 175) | 177 | R_BRACK@[174; 175) "]" |
178 | err: `expected SEMI` | 178 | err: `expected SEMI` |
179 | err: `expected expression` | 179 | err: `expected expression` |
180 | EXPR_STMT@[175; 176) | 180 | EXPR_STMT@[175; 176) |
181 | ERROR@[175; 176) | 181 | ERROR@[175; 176) |
182 | COMMA@[175; 176) | 182 | COMMA@[175; 176) "," |
183 | err: `expected SEMI` | 183 | err: `expected SEMI` |
184 | WHITESPACE@[176; 177) | 184 | WHITESPACE@[176; 177) " " |
185 | EXPR_STMT@[177; 180) | 185 | EXPR_STMT@[177; 180) |
186 | ARRAY_EXPR@[177; 180) | 186 | ARRAY_EXPR@[177; 180) |
187 | L_BRACK@[177; 178) | 187 | L_BRACK@[177; 178) "[" |
188 | err: `expected expression` | 188 | err: `expected expression` |
189 | ERROR@[178; 179) | 189 | ERROR@[178; 179) |
190 | DOLLAR@[178; 179) | 190 | DOLLAR@[178; 179) "$" |
191 | err: `expected COMMA` | 191 | err: `expected COMMA` |
192 | PAREN_EXPR@[179; 180) | 192 | PAREN_EXPR@[179; 180) |
193 | L_PAREN@[179; 180) | 193 | L_PAREN@[179; 180) "(" |
194 | err: `expected expression` | 194 | err: `expected expression` |
195 | err: `expected R_PAREN` | 195 | err: `expected R_PAREN` |
196 | err: `expected COMMA` | 196 | err: `expected COMMA` |
@@ -200,7 +200,7 @@ SOURCE_FILE@[0; 349) | |||
200 | err: `expected expression` | 200 | err: `expected expression` |
201 | EXPR_STMT@[180; 181) | 201 | EXPR_STMT@[180; 181) |
202 | ERROR@[180; 181) | 202 | ERROR@[180; 181) |
203 | DOLLAR@[180; 181) | 203 | DOLLAR@[180; 181) "$" |
204 | err: `expected SEMI` | 204 | err: `expected SEMI` |
205 | EXPR_STMT@[181; 187) | 205 | EXPR_STMT@[181; 187) |
206 | PATH_EXPR@[181; 187) | 206 | PATH_EXPR@[181; 187) |
@@ -212,7 +212,7 @@ SOURCE_FILE@[0; 349) | |||
212 | err: `expected expression` | 212 | err: `expected expression` |
213 | EXPR_STMT@[187; 188) | 213 | EXPR_STMT@[187; 188) |
214 | ERROR@[187; 188) | 214 | ERROR@[187; 188) |
215 | COLON@[187; 188) | 215 | COLON@[187; 188) ":" |
216 | err: `expected SEMI` | 216 | err: `expected SEMI` |
217 | EXPR_STMT@[188; 192) | 217 | EXPR_STMT@[188; 192) |
218 | PATH_EXPR@[188; 192) | 218 | PATH_EXPR@[188; 192) |
@@ -224,102 +224,102 @@ SOURCE_FILE@[0; 349) | |||
224 | err: `expected expression` | 224 | err: `expected expression` |
225 | EXPR_STMT@[192; 193) | 225 | EXPR_STMT@[192; 193) |
226 | ERROR@[192; 193) | 226 | ERROR@[192; 193) |
227 | R_PAREN@[192; 193) | 227 | R_PAREN@[192; 193) ")" |
228 | err: `expected SEMI` | 228 | err: `expected SEMI` |
229 | err: `expected expression` | 229 | err: `expected expression` |
230 | EXPR_STMT@[193; 194) | 230 | EXPR_STMT@[193; 194) |
231 | ERROR@[193; 194) | 231 | ERROR@[193; 194) |
232 | COMMA@[193; 194) | 232 | COMMA@[193; 194) "," |
233 | err: `expected SEMI` | 233 | err: `expected SEMI` |
234 | EXPR_STMT@[194; 197) | 234 | EXPR_STMT@[194; 197) |
235 | PREFIX_EXPR@[194; 197) | 235 | PREFIX_EXPR@[194; 197) |
236 | STAR@[194; 195) | 236 | STAR@[194; 195) "*" |
237 | WHITESPACE@[195; 196) | 237 | WHITESPACE@[195; 196) " " |
238 | err: `expected expression` | 238 | err: `expected expression` |
239 | ERROR@[196; 197) | 239 | ERROR@[196; 197) |
240 | DOLLAR@[196; 197) | 240 | DOLLAR@[196; 197) "$" |
241 | err: `expected SEMI` | 241 | err: `expected SEMI` |
242 | EXPR_STMT@[197; 198) | 242 | EXPR_STMT@[197; 198) |
243 | PAREN_EXPR@[197; 198) | 243 | PAREN_EXPR@[197; 198) |
244 | L_PAREN@[197; 198) | 244 | L_PAREN@[197; 198) "(" |
245 | err: `expected expression` | 245 | err: `expected expression` |
246 | err: `expected R_PAREN` | 246 | err: `expected R_PAREN` |
247 | err: `expected SEMI` | 247 | err: `expected SEMI` |
248 | err: `expected expression` | 248 | err: `expected expression` |
249 | EXPR_STMT@[198; 199) | 249 | EXPR_STMT@[198; 199) |
250 | ERROR@[198; 199) | 250 | ERROR@[198; 199) |
251 | COMMA@[198; 199) | 251 | COMMA@[198; 199) "," |
252 | err: `expected SEMI` | 252 | err: `expected SEMI` |
253 | err: `expected expression` | 253 | err: `expected expression` |
254 | EXPR_STMT@[199; 200) | 254 | EXPR_STMT@[199; 200) |
255 | ERROR@[199; 200) | 255 | ERROR@[199; 200) |
256 | R_PAREN@[199; 200) | 256 | R_PAREN@[199; 200) ")" |
257 | err: `expected SEMI` | 257 | err: `expected SEMI` |
258 | EXPR_STMT@[200; 202) | 258 | EXPR_STMT@[200; 202) |
259 | PREFIX_EXPR@[200; 202) | 259 | PREFIX_EXPR@[200; 202) |
260 | STAR@[200; 201) | 260 | STAR@[200; 201) "*" |
261 | err: `expected expression` | 261 | err: `expected expression` |
262 | ERROR@[201; 202) | 262 | ERROR@[201; 202) |
263 | R_BRACK@[201; 202) | 263 | R_BRACK@[201; 202) "]" |
264 | err: `expected SEMI` | 264 | err: `expected SEMI` |
265 | err: `expected expression` | 265 | err: `expected expression` |
266 | EXPR_STMT@[202; 203) | 266 | EXPR_STMT@[202; 203) |
267 | ERROR@[202; 203) | 267 | ERROR@[202; 203) |
268 | R_PAREN@[202; 203) | 268 | R_PAREN@[202; 203) ")" |
269 | err: `expected SEMI` | 269 | err: `expected SEMI` |
270 | WHITESPACE@[203; 204) | 270 | WHITESPACE@[203; 204) " " |
271 | BLOCK_EXPR@[204; 346) | 271 | BLOCK_EXPR@[204; 346) |
272 | BLOCK@[204; 346) | 272 | BLOCK@[204; 346) |
273 | L_CURLY@[204; 205) | 273 | L_CURLY@[204; 205) "{" |
274 | WHITESPACE@[205; 214) | 274 | WHITESPACE@[205; 214) "\n " |
275 | EXPR_STMT@[214; 340) | 275 | EXPR_STMT@[214; 340) |
276 | MACRO_CALL@[214; 339) | 276 | MACRO_CALL@[214; 339) |
277 | PATH@[214; 223) | 277 | PATH@[214; 223) |
278 | PATH_SEGMENT@[214; 223) | 278 | PATH_SEGMENT@[214; 223) |
279 | NAME_REF@[214; 223) | 279 | NAME_REF@[214; 223) |
280 | IDENT@[214; 223) "assert_eq" | 280 | IDENT@[214; 223) "assert_eq" |
281 | EXCL@[223; 224) | 281 | EXCL@[223; 224) "!" |
282 | TOKEN_TREE@[224; 339) | 282 | TOKEN_TREE@[224; 339) |
283 | L_PAREN@[224; 225) | 283 | L_PAREN@[224; 225) "(" |
284 | WHITESPACE@[225; 238) | 284 | WHITESPACE@[225; 238) "\n " |
285 | IDENT@[238; 253) "merge_use_trees" | 285 | IDENT@[238; 253) "merge_use_trees" |
286 | TOKEN_TREE@[253; 284) | 286 | TOKEN_TREE@[253; 284) |
287 | L_PAREN@[253; 254) | 287 | L_PAREN@[253; 254) "(" |
288 | IDENT@[254; 269) "parse_use_trees" | 288 | IDENT@[254; 269) "parse_use_trees" |
289 | EXCL@[269; 270) | 289 | EXCL@[269; 270) "!" |
290 | TOKEN_TREE@[270; 283) | 290 | TOKEN_TREE@[270; 283) |
291 | L_PAREN@[270; 271) | 291 | L_PAREN@[270; 271) "(" |
292 | DOLLAR@[271; 272) | 292 | DOLLAR@[271; 272) "$" |
293 | TOKEN_TREE@[272; 281) | 293 | TOKEN_TREE@[272; 281) |
294 | L_PAREN@[272; 273) | 294 | L_PAREN@[272; 273) "(" |
295 | DOLLAR@[273; 274) | 295 | DOLLAR@[273; 274) "$" |
296 | IDENT@[274; 279) "input" | 296 | IDENT@[274; 279) "input" |
297 | COMMA@[279; 280) | 297 | COMMA@[279; 280) "," |
298 | R_PAREN@[280; 281) | 298 | R_PAREN@[280; 281) ")" |
299 | STAR@[281; 282) | 299 | STAR@[281; 282) "*" |
300 | R_PAREN@[282; 283) | 300 | R_PAREN@[282; 283) ")" |
301 | R_PAREN@[283; 284) | 301 | R_PAREN@[283; 284) ")" |
302 | COMMA@[284; 285) | 302 | COMMA@[284; 285) "," |
303 | WHITESPACE@[285; 298) | 303 | WHITESPACE@[285; 298) "\n " |
304 | IDENT@[298; 313) "parse_use_trees" | 304 | IDENT@[298; 313) "parse_use_trees" |
305 | EXCL@[313; 314) | 305 | EXCL@[313; 314) "!" |
306 | TOKEN_TREE@[314; 328) | 306 | TOKEN_TREE@[314; 328) |
307 | L_PAREN@[314; 315) | 307 | L_PAREN@[314; 315) "(" |
308 | DOLLAR@[315; 316) | 308 | DOLLAR@[315; 316) "$" |
309 | TOKEN_TREE@[316; 326) | 309 | TOKEN_TREE@[316; 326) |
310 | L_PAREN@[316; 317) | 310 | L_PAREN@[316; 317) "(" |
311 | DOLLAR@[317; 318) | 311 | DOLLAR@[317; 318) "$" |
312 | IDENT@[318; 324) "output" | 312 | IDENT@[318; 324) "output" |
313 | COMMA@[324; 325) | 313 | COMMA@[324; 325) "," |
314 | R_PAREN@[325; 326) | 314 | R_PAREN@[325; 326) ")" |
315 | STAR@[326; 327) | 315 | STAR@[326; 327) "*" |
316 | R_PAREN@[327; 328) | 316 | R_PAREN@[327; 328) ")" |
317 | COMMA@[328; 329) | 317 | COMMA@[328; 329) "," |
318 | WHITESPACE@[329; 338) | 318 | WHITESPACE@[329; 338) "\n " |
319 | R_PAREN@[338; 339) | 319 | R_PAREN@[338; 339) ")" |
320 | SEMI@[339; 340) | 320 | SEMI@[339; 340) ";" |
321 | WHITESPACE@[340; 345) | 321 | WHITESPACE@[340; 345) "\n " |
322 | R_CURLY@[345; 346) | 322 | R_CURLY@[345; 346) "}" |
323 | WHITESPACE@[346; 347) | 323 | WHITESPACE@[346; 347) "\n" |
324 | R_CURLY@[347; 348) | 324 | R_CURLY@[347; 348) "}" |
325 | WHITESPACE@[348; 349) | 325 | WHITESPACE@[348; 349) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0029_field_completion.txt b/crates/ra_syntax/tests/data/parser/err/0029_field_completion.txt index fd2a3f37b..27a0884f9 100644 --- a/crates/ra_syntax/tests/data/parser/err/0029_field_completion.txt +++ b/crates/ra_syntax/tests/data/parser/err/0029_field_completion.txt | |||
@@ -1,35 +1,35 @@ | |||
1 | SOURCE_FILE@[0; 24) | 1 | SOURCE_FILE@[0; 24) |
2 | FN_DEF@[0; 23) | 2 | FN_DEF@[0; 23) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 6) | 5 | NAME@[3; 6) |
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | PARAM_LIST@[6; 12) | 7 | PARAM_LIST@[6; 12) |
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) "(" |
9 | PARAM@[7; 11) | 9 | PARAM@[7; 11) |
10 | BIND_PAT@[7; 8) | 10 | BIND_PAT@[7; 8) |
11 | NAME@[7; 8) | 11 | NAME@[7; 8) |
12 | IDENT@[7; 8) "a" | 12 | IDENT@[7; 8) "a" |
13 | COLON@[8; 9) | 13 | COLON@[8; 9) ":" |
14 | WHITESPACE@[9; 10) | 14 | WHITESPACE@[9; 10) " " |
15 | PATH_TYPE@[10; 11) | 15 | PATH_TYPE@[10; 11) |
16 | PATH@[10; 11) | 16 | PATH@[10; 11) |
17 | PATH_SEGMENT@[10; 11) | 17 | PATH_SEGMENT@[10; 11) |
18 | NAME_REF@[10; 11) | 18 | NAME_REF@[10; 11) |
19 | IDENT@[10; 11) "A" | 19 | IDENT@[10; 11) "A" |
20 | R_PAREN@[11; 12) | 20 | R_PAREN@[11; 12) ")" |
21 | WHITESPACE@[12; 13) | 21 | WHITESPACE@[12; 13) " " |
22 | BLOCK@[13; 23) | 22 | BLOCK@[13; 23) |
23 | L_CURLY@[13; 14) | 23 | L_CURLY@[13; 14) "{" |
24 | WHITESPACE@[14; 19) | 24 | WHITESPACE@[14; 19) "\n " |
25 | FIELD_EXPR@[19; 21) | 25 | FIELD_EXPR@[19; 21) |
26 | PATH_EXPR@[19; 20) | 26 | PATH_EXPR@[19; 20) |
27 | PATH@[19; 20) | 27 | PATH@[19; 20) |
28 | PATH_SEGMENT@[19; 20) | 28 | PATH_SEGMENT@[19; 20) |
29 | NAME_REF@[19; 20) | 29 | NAME_REF@[19; 20) |
30 | IDENT@[19; 20) "a" | 30 | IDENT@[19; 20) "a" |
31 | DOT@[20; 21) | 31 | DOT@[20; 21) "." |
32 | err: `expected field name or number` | 32 | err: `expected field name or number` |
33 | WHITESPACE@[21; 22) | 33 | WHITESPACE@[21; 22) "\n" |
34 | R_CURLY@[22; 23) | 34 | R_CURLY@[22; 23) "}" |
35 | WHITESPACE@[23; 24) | 35 | WHITESPACE@[23; 24) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0030_string_suffixes.txt b/crates/ra_syntax/tests/data/parser/err/0030_string_suffixes.txt index dc10e9ee7..61a28134a 100644 --- a/crates/ra_syntax/tests/data/parser/err/0030_string_suffixes.txt +++ b/crates/ra_syntax/tests/data/parser/err/0030_string_suffixes.txt | |||
@@ -1,26 +1,26 @@ | |||
1 | SOURCE_FILE@[0; 112) | 1 | SOURCE_FILE@[0; 112) |
2 | FN_DEF@[0; 111) | 2 | FN_DEF@[0; 111) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 7) | 5 | NAME@[3; 7) |
6 | IDENT@[3; 7) "main" | 6 | IDENT@[3; 7) "main" |
7 | PARAM_LIST@[7; 9) | 7 | PARAM_LIST@[7; 9) |
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) "(" |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) ")" |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) " " |
11 | BLOCK@[10; 111) | 11 | BLOCK@[10; 111) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) "{" |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) "\n " |
14 | LET_STMT@[16; 27) | 14 | LET_STMT@[16; 27) |
15 | LET_KW@[16; 19) | 15 | LET_KW@[16; 19) "let" |
16 | WHITESPACE@[19; 20) | 16 | WHITESPACE@[19; 20) " " |
17 | PLACEHOLDER_PAT@[20; 21) | 17 | PLACEHOLDER_PAT@[20; 21) |
18 | UNDERSCORE@[20; 21) | 18 | UNDERSCORE@[20; 21) "_" |
19 | WHITESPACE@[21; 22) | 19 | WHITESPACE@[21; 22) " " |
20 | EQ@[22; 23) | 20 | EQ@[22; 23) "=" |
21 | WHITESPACE@[23; 24) | 21 | WHITESPACE@[23; 24) " " |
22 | LITERAL@[24; 27) | 22 | LITERAL@[24; 27) |
23 | CHAR@[24; 27) | 23 | CHAR@[24; 27) "\'c\'" |
24 | err: `expected SEMI` | 24 | err: `expected SEMI` |
25 | EXPR_STMT@[27; 31) | 25 | EXPR_STMT@[27; 31) |
26 | PATH_EXPR@[27; 30) | 26 | PATH_EXPR@[27; 30) |
@@ -28,46 +28,46 @@ SOURCE_FILE@[0; 112) | |||
28 | PATH_SEGMENT@[27; 30) | 28 | PATH_SEGMENT@[27; 30) |
29 | NAME_REF@[27; 30) | 29 | NAME_REF@[27; 30) |
30 | IDENT@[27; 30) "u32" | 30 | IDENT@[27; 30) "u32" |
31 | SEMI@[30; 31) | 31 | SEMI@[30; 31) ";" |
32 | WHITESPACE@[31; 36) | 32 | WHITESPACE@[31; 36) "\n " |
33 | LET_STMT@[36; 60) | 33 | LET_STMT@[36; 60) |
34 | LET_KW@[36; 39) | 34 | LET_KW@[36; 39) "let" |
35 | WHITESPACE@[39; 40) | 35 | WHITESPACE@[39; 40) " " |
36 | PLACEHOLDER_PAT@[40; 41) | 36 | PLACEHOLDER_PAT@[40; 41) |
37 | UNDERSCORE@[40; 41) | 37 | UNDERSCORE@[40; 41) "_" |
38 | WHITESPACE@[41; 42) | 38 | WHITESPACE@[41; 42) " " |
39 | EQ@[42; 43) | 39 | EQ@[42; 43) "=" |
40 | WHITESPACE@[43; 44) | 40 | WHITESPACE@[43; 44) " " |
41 | LITERAL@[44; 59) | 41 | LITERAL@[44; 59) |
42 | STRING@[44; 59) | 42 | STRING@[44; 59) "\"string\"invalid" |
43 | err: `Invalid literal suffix` | 43 | err: `Invalid literal suffix` |
44 | SEMI@[59; 60) | 44 | SEMI@[59; 60) ";" |
45 | WHITESPACE@[60; 65) | 45 | WHITESPACE@[60; 65) "\n " |
46 | LET_STMT@[65; 83) | 46 | LET_STMT@[65; 83) |
47 | LET_KW@[65; 68) | 47 | LET_KW@[65; 68) "let" |
48 | WHITESPACE@[68; 69) | 48 | WHITESPACE@[68; 69) " " |
49 | PLACEHOLDER_PAT@[69; 70) | 49 | PLACEHOLDER_PAT@[69; 70) |
50 | UNDERSCORE@[69; 70) | 50 | UNDERSCORE@[69; 70) "_" |
51 | WHITESPACE@[70; 71) | 51 | WHITESPACE@[70; 71) " " |
52 | EQ@[71; 72) | 52 | EQ@[71; 72) "=" |
53 | WHITESPACE@[72; 73) | 53 | WHITESPACE@[72; 73) " " |
54 | LITERAL@[73; 82) | 54 | LITERAL@[73; 82) |
55 | BYTE@[73; 82) | 55 | BYTE@[73; 82) "b\'b\'_suff" |
56 | err: `Invalid literal suffix` | 56 | err: `Invalid literal suffix` |
57 | SEMI@[82; 83) | 57 | SEMI@[82; 83) ";" |
58 | WHITESPACE@[83; 88) | 58 | WHITESPACE@[83; 88) "\n " |
59 | LET_STMT@[88; 109) | 59 | LET_STMT@[88; 109) |
60 | LET_KW@[88; 91) | 60 | LET_KW@[88; 91) "let" |
61 | WHITESPACE@[91; 92) | 61 | WHITESPACE@[91; 92) " " |
62 | PLACEHOLDER_PAT@[92; 93) | 62 | PLACEHOLDER_PAT@[92; 93) |
63 | UNDERSCORE@[92; 93) | 63 | UNDERSCORE@[92; 93) "_" |
64 | WHITESPACE@[93; 94) | 64 | WHITESPACE@[93; 94) " " |
65 | EQ@[94; 95) | 65 | EQ@[94; 95) "=" |
66 | WHITESPACE@[95; 96) | 66 | WHITESPACE@[95; 96) " " |
67 | LITERAL@[96; 108) | 67 | LITERAL@[96; 108) |
68 | BYTE_STRING@[96; 108) | 68 | BYTE_STRING@[96; 108) "b\"bs\"invalid" |
69 | err: `Invalid literal suffix` | 69 | err: `Invalid literal suffix` |
70 | SEMI@[108; 109) | 70 | SEMI@[108; 109) ";" |
71 | WHITESPACE@[109; 110) | 71 | WHITESPACE@[109; 110) "\n" |
72 | R_CURLY@[110; 111) | 72 | R_CURLY@[110; 111) "}" |
73 | WHITESPACE@[111; 112) | 73 | WHITESPACE@[111; 112) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0031_block_inner_attrs.txt b/crates/ra_syntax/tests/data/parser/err/0031_block_inner_attrs.txt index 086aa79ac..80a973d4d 100644 --- a/crates/ra_syntax/tests/data/parser/err/0031_block_inner_attrs.txt +++ b/crates/ra_syntax/tests/data/parser/err/0031_block_inner_attrs.txt | |||
@@ -1,114 +1,114 @@ | |||
1 | SOURCE_FILE@[0; 350) | 1 | SOURCE_FILE@[0; 350) |
2 | FN_DEF@[0; 349) | 2 | FN_DEF@[0; 349) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 8) | 5 | NAME@[3; 8) |
6 | IDENT@[3; 8) "block" | 6 | IDENT@[3; 8) "block" |
7 | PARAM_LIST@[8; 10) | 7 | PARAM_LIST@[8; 10) |
8 | L_PAREN@[8; 9) | 8 | L_PAREN@[8; 9) "(" |
9 | R_PAREN@[9; 10) | 9 | R_PAREN@[9; 10) ")" |
10 | WHITESPACE@[10; 11) | 10 | WHITESPACE@[10; 11) " " |
11 | BLOCK@[11; 349) | 11 | BLOCK@[11; 349) |
12 | L_CURLY@[11; 12) | 12 | L_CURLY@[11; 12) "{" |
13 | WHITESPACE@[12; 17) | 13 | WHITESPACE@[12; 17) "\n " |
14 | LET_STMT@[17; 129) | 14 | LET_STMT@[17; 129) |
15 | LET_KW@[17; 20) | 15 | LET_KW@[17; 20) "let" |
16 | WHITESPACE@[20; 21) | 16 | WHITESPACE@[20; 21) " " |
17 | BIND_PAT@[21; 26) | 17 | BIND_PAT@[21; 26) |
18 | NAME@[21; 26) | 18 | NAME@[21; 26) |
19 | IDENT@[21; 26) "inner" | 19 | IDENT@[21; 26) "inner" |
20 | WHITESPACE@[26; 27) | 20 | WHITESPACE@[26; 27) " " |
21 | EQ@[27; 28) | 21 | EQ@[27; 28) "=" |
22 | WHITESPACE@[28; 29) | 22 | WHITESPACE@[28; 29) " " |
23 | BLOCK_EXPR@[29; 128) | 23 | BLOCK_EXPR@[29; 128) |
24 | BLOCK@[29; 128) | 24 | BLOCK@[29; 128) |
25 | L_CURLY@[29; 30) | 25 | L_CURLY@[29; 30) "{" |
26 | WHITESPACE@[30; 39) | 26 | WHITESPACE@[30; 39) "\n " |
27 | err: `A block in this position cannot accept inner attributes` | 27 | err: `A block in this position cannot accept inner attributes` |
28 | ATTR@[39; 83) | 28 | ATTR@[39; 83) |
29 | POUND@[39; 40) | 29 | POUND@[39; 40) "#" |
30 | EXCL@[40; 41) | 30 | EXCL@[40; 41) "!" |
31 | TOKEN_TREE@[41; 83) | 31 | TOKEN_TREE@[41; 83) |
32 | L_BRACK@[41; 42) | 32 | L_BRACK@[41; 42) "[" |
33 | IDENT@[42; 45) "doc" | 33 | IDENT@[42; 45) "doc" |
34 | TOKEN_TREE@[45; 82) | 34 | TOKEN_TREE@[45; 82) |
35 | L_PAREN@[45; 46) | 35 | L_PAREN@[45; 46) "(" |
36 | STRING@[46; 81) | 36 | STRING@[46; 81) "\"Inner attributes not ..." |
37 | R_PAREN@[81; 82) | 37 | R_PAREN@[81; 82) ")" |
38 | R_BRACK@[82; 83) | 38 | R_BRACK@[82; 83) "]" |
39 | WHITESPACE@[83; 92) | 39 | WHITESPACE@[83; 92) "\n " |
40 | COMMENT@[92; 122) | 40 | COMMENT@[92; 122) "//! Nor are ModuleDoc ..." |
41 | WHITESPACE@[122; 127) | 41 | WHITESPACE@[122; 127) "\n " |
42 | R_CURLY@[127; 128) | 42 | R_CURLY@[127; 128) "}" |
43 | SEMI@[128; 129) | 43 | SEMI@[128; 129) ";" |
44 | WHITESPACE@[129; 134) | 44 | WHITESPACE@[129; 134) "\n " |
45 | EXPR_STMT@[134; 257) | 45 | EXPR_STMT@[134; 257) |
46 | IF_EXPR@[134; 257) | 46 | IF_EXPR@[134; 257) |
47 | IF_KW@[134; 136) | 47 | IF_KW@[134; 136) "if" |
48 | WHITESPACE@[136; 137) | 48 | WHITESPACE@[136; 137) " " |
49 | CONDITION@[137; 141) | 49 | CONDITION@[137; 141) |
50 | LITERAL@[137; 141) | 50 | LITERAL@[137; 141) |
51 | TRUE_KW@[137; 141) | 51 | TRUE_KW@[137; 141) "true" |
52 | WHITESPACE@[141; 142) | 52 | WHITESPACE@[141; 142) " " |
53 | BLOCK@[142; 257) | 53 | BLOCK@[142; 257) |
54 | L_CURLY@[142; 143) | 54 | L_CURLY@[142; 143) "{" |
55 | WHITESPACE@[143; 152) | 55 | WHITESPACE@[143; 152) "\n " |
56 | err: `A block in this position cannot accept inner attributes` | 56 | err: `A block in this position cannot accept inner attributes` |
57 | ATTR@[152; 171) | 57 | ATTR@[152; 171) |
58 | POUND@[152; 153) | 58 | POUND@[152; 153) "#" |
59 | EXCL@[153; 154) | 59 | EXCL@[153; 154) "!" |
60 | TOKEN_TREE@[154; 171) | 60 | TOKEN_TREE@[154; 171) |
61 | L_BRACK@[154; 155) | 61 | L_BRACK@[154; 155) "[" |
62 | IDENT@[155; 158) "doc" | 62 | IDENT@[155; 158) "doc" |
63 | TOKEN_TREE@[158; 170) | 63 | TOKEN_TREE@[158; 170) |
64 | L_PAREN@[158; 159) | 64 | L_PAREN@[158; 159) "(" |
65 | STRING@[159; 169) | 65 | STRING@[159; 169) "\"Nor here\"" |
66 | R_PAREN@[169; 170) | 66 | R_PAREN@[169; 170) ")" |
67 | R_BRACK@[170; 171) | 67 | R_BRACK@[170; 171) "]" |
68 | WHITESPACE@[171; 180) | 68 | WHITESPACE@[171; 180) "\n " |
69 | err: `A block in this position cannot accept inner attributes` | 69 | err: `A block in this position cannot accept inner attributes` |
70 | ATTR@[180; 212) | 70 | ATTR@[180; 212) |
71 | POUND@[180; 181) | 71 | POUND@[180; 181) "#" |
72 | EXCL@[181; 182) | 72 | EXCL@[181; 182) "!" |
73 | TOKEN_TREE@[182; 212) | 73 | TOKEN_TREE@[182; 212) |
74 | L_BRACK@[182; 183) | 74 | L_BRACK@[182; 183) "[" |
75 | IDENT@[183; 186) "doc" | 75 | IDENT@[183; 186) "doc" |
76 | TOKEN_TREE@[186; 211) | 76 | TOKEN_TREE@[186; 211) |
77 | L_PAREN@[186; 187) | 77 | L_PAREN@[186; 187) "(" |
78 | STRING@[187; 210) | 78 | STRING@[187; 210) "\"We error on each attr\"" |
79 | R_PAREN@[210; 211) | 79 | R_PAREN@[210; 211) ")" |
80 | R_BRACK@[211; 212) | 80 | R_BRACK@[211; 212) "]" |
81 | WHITESPACE@[212; 221) | 81 | WHITESPACE@[212; 221) "\n " |
82 | COMMENT@[221; 251) | 82 | COMMENT@[221; 251) "//! Nor are ModuleDoc ..." |
83 | WHITESPACE@[251; 256) | 83 | WHITESPACE@[251; 256) "\n " |
84 | R_CURLY@[256; 257) | 84 | R_CURLY@[256; 257) "}" |
85 | WHITESPACE@[257; 262) | 85 | WHITESPACE@[257; 262) "\n " |
86 | WHILE_EXPR@[262; 347) | 86 | WHILE_EXPR@[262; 347) |
87 | WHILE_KW@[262; 267) | 87 | WHILE_KW@[262; 267) "while" |
88 | WHITESPACE@[267; 268) | 88 | WHITESPACE@[267; 268) " " |
89 | CONDITION@[268; 272) | 89 | CONDITION@[268; 272) |
90 | LITERAL@[268; 272) | 90 | LITERAL@[268; 272) |
91 | TRUE_KW@[268; 272) | 91 | TRUE_KW@[268; 272) "true" |
92 | WHITESPACE@[272; 273) | 92 | WHITESPACE@[272; 273) " " |
93 | BLOCK@[273; 347) | 93 | BLOCK@[273; 347) |
94 | L_CURLY@[273; 274) | 94 | L_CURLY@[273; 274) "{" |
95 | WHITESPACE@[274; 283) | 95 | WHITESPACE@[274; 283) "\n " |
96 | err: `A block in this position cannot accept inner attributes` | 96 | err: `A block in this position cannot accept inner attributes` |
97 | ATTR@[283; 302) | 97 | ATTR@[283; 302) |
98 | POUND@[283; 284) | 98 | POUND@[283; 284) "#" |
99 | EXCL@[284; 285) | 99 | EXCL@[284; 285) "!" |
100 | TOKEN_TREE@[285; 302) | 100 | TOKEN_TREE@[285; 302) |
101 | L_BRACK@[285; 286) | 101 | L_BRACK@[285; 286) "[" |
102 | IDENT@[286; 289) "doc" | 102 | IDENT@[286; 289) "doc" |
103 | TOKEN_TREE@[289; 301) | 103 | TOKEN_TREE@[289; 301) |
104 | L_PAREN@[289; 290) | 104 | L_PAREN@[289; 290) "(" |
105 | STRING@[290; 300) | 105 | STRING@[290; 300) "\"Nor here\"" |
106 | R_PAREN@[300; 301) | 106 | R_PAREN@[300; 301) ")" |
107 | R_BRACK@[301; 302) | 107 | R_BRACK@[301; 302) "]" |
108 | WHITESPACE@[302; 311) | 108 | WHITESPACE@[302; 311) "\n " |
109 | COMMENT@[311; 341) | 109 | COMMENT@[311; 341) "//! Nor are ModuleDoc ..." |
110 | WHITESPACE@[341; 346) | 110 | WHITESPACE@[341; 346) "\n " |
111 | R_CURLY@[346; 347) | 111 | R_CURLY@[346; 347) "}" |
112 | WHITESPACE@[347; 348) | 112 | WHITESPACE@[347; 348) "\n" |
113 | R_CURLY@[348; 349) | 113 | R_CURLY@[348; 349) "}" |
114 | WHITESPACE@[349; 350) | 114 | WHITESPACE@[349; 350) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0032_match_arms_inner_attrs.txt b/crates/ra_syntax/tests/data/parser/err/0032_match_arms_inner_attrs.txt index ed5735a63..92e3a1ee8 100644 --- a/crates/ra_syntax/tests/data/parser/err/0032_match_arms_inner_attrs.txt +++ b/crates/ra_syntax/tests/data/parser/err/0032_match_arms_inner_attrs.txt | |||
@@ -1,48 +1,48 @@ | |||
1 | SOURCE_FILE@[0; 293) | 1 | SOURCE_FILE@[0; 293) |
2 | FN_DEF@[0; 292) | 2 | FN_DEF@[0; 292) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 6) | 5 | NAME@[3; 6) |
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | PARAM_LIST@[6; 8) | 7 | PARAM_LIST@[6; 8) |
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) "(" |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) ")" |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) " " |
11 | BLOCK@[9; 292) | 11 | BLOCK@[9; 292) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) "{" |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) "\n " |
14 | EXPR_STMT@[15; 101) | 14 | EXPR_STMT@[15; 101) |
15 | MATCH_EXPR@[15; 101) | 15 | MATCH_EXPR@[15; 101) |
16 | MATCH_KW@[15; 20) | 16 | MATCH_KW@[15; 20) "match" |
17 | WHITESPACE@[20; 21) | 17 | WHITESPACE@[20; 21) " " |
18 | TUPLE_EXPR@[21; 23) | 18 | TUPLE_EXPR@[21; 23) |
19 | L_PAREN@[21; 22) | 19 | L_PAREN@[21; 22) "(" |
20 | R_PAREN@[22; 23) | 20 | R_PAREN@[22; 23) ")" |
21 | WHITESPACE@[23; 24) | 21 | WHITESPACE@[23; 24) " " |
22 | MATCH_ARM_LIST@[24; 101) | 22 | MATCH_ARM_LIST@[24; 101) |
23 | L_CURLY@[24; 25) | 23 | L_CURLY@[24; 25) "{" |
24 | WHITESPACE@[25; 34) | 24 | WHITESPACE@[25; 34) "\n " |
25 | MATCH_ARM@[34; 41) | 25 | MATCH_ARM@[34; 41) |
26 | PLACEHOLDER_PAT@[34; 35) | 26 | PLACEHOLDER_PAT@[34; 35) |
27 | UNDERSCORE@[34; 35) | 27 | UNDERSCORE@[34; 35) "_" |
28 | WHITESPACE@[35; 36) | 28 | WHITESPACE@[35; 36) " " |
29 | FAT_ARROW@[36; 38) | 29 | FAT_ARROW@[36; 38) "=>" |
30 | WHITESPACE@[38; 39) | 30 | WHITESPACE@[38; 39) " " |
31 | TUPLE_EXPR@[39; 41) | 31 | TUPLE_EXPR@[39; 41) |
32 | L_PAREN@[39; 40) | 32 | L_PAREN@[39; 40) "(" |
33 | R_PAREN@[40; 41) | 33 | R_PAREN@[40; 41) ")" |
34 | COMMA@[41; 42) | 34 | COMMA@[41; 42) "," |
35 | WHITESPACE@[42; 51) | 35 | WHITESPACE@[42; 51) "\n " |
36 | MATCH_ARM@[51; 78) | 36 | MATCH_ARM@[51; 78) |
37 | ATTR@[51; 52) | 37 | ATTR@[51; 52) |
38 | POUND@[51; 52) | 38 | POUND@[51; 52) "#" |
39 | err: `expected `[`` | 39 | err: `expected `[`` |
40 | err: `expected pattern` | 40 | err: `expected pattern` |
41 | ERROR@[52; 53) | 41 | ERROR@[52; 53) |
42 | EXCL@[52; 53) | 42 | EXCL@[52; 53) "!" |
43 | err: `expected FAT_ARROW` | 43 | err: `expected FAT_ARROW` |
44 | ARRAY_EXPR@[53; 78) | 44 | ARRAY_EXPR@[53; 78) |
45 | L_BRACK@[53; 54) | 45 | L_BRACK@[53; 54) "[" |
46 | CALL_EXPR@[54; 77) | 46 | CALL_EXPR@[54; 77) |
47 | PATH_EXPR@[54; 57) | 47 | PATH_EXPR@[54; 57) |
48 | PATH@[54; 57) | 48 | PATH@[54; 57) |
@@ -50,69 +50,69 @@ SOURCE_FILE@[0; 293) | |||
50 | NAME_REF@[54; 57) | 50 | NAME_REF@[54; 57) |
51 | IDENT@[54; 57) "doc" | 51 | IDENT@[54; 57) "doc" |
52 | ARG_LIST@[57; 77) | 52 | ARG_LIST@[57; 77) |
53 | L_PAREN@[57; 58) | 53 | L_PAREN@[57; 58) "(" |
54 | LITERAL@[58; 76) | 54 | LITERAL@[58; 76) |
55 | STRING@[58; 76) | 55 | STRING@[58; 76) "\"Not allowed here\"" |
56 | R_PAREN@[76; 77) | 56 | R_PAREN@[76; 77) ")" |
57 | R_BRACK@[77; 78) | 57 | R_BRACK@[77; 78) "]" |
58 | err: `expected COMMA` | 58 | err: `expected COMMA` |
59 | WHITESPACE@[78; 87) | 59 | WHITESPACE@[78; 87) "\n " |
60 | MATCH_ARM@[87; 94) | 60 | MATCH_ARM@[87; 94) |
61 | PLACEHOLDER_PAT@[87; 88) | 61 | PLACEHOLDER_PAT@[87; 88) |
62 | UNDERSCORE@[87; 88) | 62 | UNDERSCORE@[87; 88) "_" |
63 | WHITESPACE@[88; 89) | 63 | WHITESPACE@[88; 89) " " |
64 | FAT_ARROW@[89; 91) | 64 | FAT_ARROW@[89; 91) "=>" |
65 | WHITESPACE@[91; 92) | 65 | WHITESPACE@[91; 92) " " |
66 | TUPLE_EXPR@[92; 94) | 66 | TUPLE_EXPR@[92; 94) |
67 | L_PAREN@[92; 93) | 67 | L_PAREN@[92; 93) "(" |
68 | R_PAREN@[93; 94) | 68 | R_PAREN@[93; 94) ")" |
69 | COMMA@[94; 95) | 69 | COMMA@[94; 95) "," |
70 | WHITESPACE@[95; 100) | 70 | WHITESPACE@[95; 100) "\n " |
71 | R_CURLY@[100; 101) | 71 | R_CURLY@[100; 101) "}" |
72 | WHITESPACE@[101; 107) | 72 | WHITESPACE@[101; 107) "\n\n " |
73 | EXPR_STMT@[107; 185) | 73 | EXPR_STMT@[107; 185) |
74 | MATCH_EXPR@[107; 185) | 74 | MATCH_EXPR@[107; 185) |
75 | MATCH_KW@[107; 112) | 75 | MATCH_KW@[107; 112) "match" |
76 | WHITESPACE@[112; 113) | 76 | WHITESPACE@[112; 113) " " |
77 | TUPLE_EXPR@[113; 115) | 77 | TUPLE_EXPR@[113; 115) |
78 | L_PAREN@[113; 114) | 78 | L_PAREN@[113; 114) "(" |
79 | R_PAREN@[114; 115) | 79 | R_PAREN@[114; 115) ")" |
80 | WHITESPACE@[115; 116) | 80 | WHITESPACE@[115; 116) " " |
81 | MATCH_ARM_LIST@[116; 185) | 81 | MATCH_ARM_LIST@[116; 185) |
82 | L_CURLY@[116; 117) | 82 | L_CURLY@[116; 117) "{" |
83 | WHITESPACE@[117; 126) | 83 | WHITESPACE@[117; 126) "\n " |
84 | MATCH_ARM@[126; 133) | 84 | MATCH_ARM@[126; 133) |
85 | PLACEHOLDER_PAT@[126; 127) | 85 | PLACEHOLDER_PAT@[126; 127) |
86 | UNDERSCORE@[126; 127) | 86 | UNDERSCORE@[126; 127) "_" |
87 | WHITESPACE@[127; 128) | 87 | WHITESPACE@[127; 128) " " |
88 | FAT_ARROW@[128; 130) | 88 | FAT_ARROW@[128; 130) "=>" |
89 | WHITESPACE@[130; 131) | 89 | WHITESPACE@[130; 131) " " |
90 | TUPLE_EXPR@[131; 133) | 90 | TUPLE_EXPR@[131; 133) |
91 | L_PAREN@[131; 132) | 91 | L_PAREN@[131; 132) "(" |
92 | R_PAREN@[132; 133) | 92 | R_PAREN@[132; 133) ")" |
93 | COMMA@[133; 134) | 93 | COMMA@[133; 134) "," |
94 | WHITESPACE@[134; 143) | 94 | WHITESPACE@[134; 143) "\n " |
95 | MATCH_ARM@[143; 150) | 95 | MATCH_ARM@[143; 150) |
96 | PLACEHOLDER_PAT@[143; 144) | 96 | PLACEHOLDER_PAT@[143; 144) |
97 | UNDERSCORE@[143; 144) | 97 | UNDERSCORE@[143; 144) "_" |
98 | WHITESPACE@[144; 145) | 98 | WHITESPACE@[144; 145) " " |
99 | FAT_ARROW@[145; 147) | 99 | FAT_ARROW@[145; 147) "=>" |
100 | WHITESPACE@[147; 148) | 100 | WHITESPACE@[147; 148) " " |
101 | TUPLE_EXPR@[148; 150) | 101 | TUPLE_EXPR@[148; 150) |
102 | L_PAREN@[148; 149) | 102 | L_PAREN@[148; 149) "(" |
103 | R_PAREN@[149; 150) | 103 | R_PAREN@[149; 150) ")" |
104 | COMMA@[150; 151) | 104 | COMMA@[150; 151) "," |
105 | WHITESPACE@[151; 160) | 105 | WHITESPACE@[151; 160) "\n " |
106 | MATCH_ARM@[160; 179) | 106 | MATCH_ARM@[160; 179) |
107 | ATTR@[160; 161) | 107 | ATTR@[160; 161) |
108 | POUND@[160; 161) | 108 | POUND@[160; 161) "#" |
109 | err: `expected `[`` | 109 | err: `expected `[`` |
110 | err: `expected pattern` | 110 | err: `expected pattern` |
111 | ERROR@[161; 162) | 111 | ERROR@[161; 162) |
112 | EXCL@[161; 162) | 112 | EXCL@[161; 162) "!" |
113 | err: `expected FAT_ARROW` | 113 | err: `expected FAT_ARROW` |
114 | ARRAY_EXPR@[162; 179) | 114 | ARRAY_EXPR@[162; 179) |
115 | L_BRACK@[162; 163) | 115 | L_BRACK@[162; 163) "[" |
116 | CALL_EXPR@[163; 178) | 116 | CALL_EXPR@[163; 178) |
117 | PATH_EXPR@[163; 166) | 117 | PATH_EXPR@[163; 166) |
118 | PATH@[163; 166) | 118 | PATH@[163; 166) |
@@ -120,45 +120,45 @@ SOURCE_FILE@[0; 293) | |||
120 | NAME_REF@[163; 166) | 120 | NAME_REF@[163; 166) |
121 | IDENT@[163; 166) "doc" | 121 | IDENT@[163; 166) "doc" |
122 | ARG_LIST@[166; 178) | 122 | ARG_LIST@[166; 178) |
123 | L_PAREN@[166; 167) | 123 | L_PAREN@[166; 167) "(" |
124 | LITERAL@[167; 177) | 124 | LITERAL@[167; 177) |
125 | STRING@[167; 177) | 125 | STRING@[167; 177) "\"Nor here\"" |
126 | R_PAREN@[177; 178) | 126 | R_PAREN@[177; 178) ")" |
127 | R_BRACK@[178; 179) | 127 | R_BRACK@[178; 179) "]" |
128 | WHITESPACE@[179; 184) | 128 | WHITESPACE@[179; 184) "\n " |
129 | R_CURLY@[184; 185) | 129 | R_CURLY@[184; 185) "}" |
130 | WHITESPACE@[185; 191) | 130 | WHITESPACE@[185; 191) "\n\n " |
131 | MATCH_EXPR@[191; 290) | 131 | MATCH_EXPR@[191; 290) |
132 | MATCH_KW@[191; 196) | 132 | MATCH_KW@[191; 196) "match" |
133 | WHITESPACE@[196; 197) | 133 | WHITESPACE@[196; 197) " " |
134 | TUPLE_EXPR@[197; 199) | 134 | TUPLE_EXPR@[197; 199) |
135 | L_PAREN@[197; 198) | 135 | L_PAREN@[197; 198) "(" |
136 | R_PAREN@[198; 199) | 136 | R_PAREN@[198; 199) ")" |
137 | WHITESPACE@[199; 200) | 137 | WHITESPACE@[199; 200) " " |
138 | MATCH_ARM_LIST@[200; 290) | 138 | MATCH_ARM_LIST@[200; 290) |
139 | L_CURLY@[200; 201) | 139 | L_CURLY@[200; 201) "{" |
140 | WHITESPACE@[201; 210) | 140 | WHITESPACE@[201; 210) "\n " |
141 | MATCH_ARM@[210; 250) | 141 | MATCH_ARM@[210; 250) |
142 | ATTR@[210; 222) | 142 | ATTR@[210; 222) |
143 | POUND@[210; 211) | 143 | POUND@[210; 211) "#" |
144 | TOKEN_TREE@[211; 222) | 144 | TOKEN_TREE@[211; 222) |
145 | L_BRACK@[211; 212) | 145 | L_BRACK@[211; 212) "[" |
146 | IDENT@[212; 215) "cfg" | 146 | IDENT@[212; 215) "cfg" |
147 | TOKEN_TREE@[215; 221) | 147 | TOKEN_TREE@[215; 221) |
148 | L_PAREN@[215; 216) | 148 | L_PAREN@[215; 216) "(" |
149 | IDENT@[216; 220) "test" | 149 | IDENT@[216; 220) "test" |
150 | R_PAREN@[220; 221) | 150 | R_PAREN@[220; 221) ")" |
151 | R_BRACK@[221; 222) | 151 | R_BRACK@[221; 222) "]" |
152 | WHITESPACE@[222; 231) | 152 | WHITESPACE@[222; 231) "\n " |
153 | ATTR@[231; 232) | 153 | ATTR@[231; 232) |
154 | POUND@[231; 232) | 154 | POUND@[231; 232) "#" |
155 | err: `expected `[`` | 155 | err: `expected `[`` |
156 | err: `expected pattern` | 156 | err: `expected pattern` |
157 | ERROR@[232; 233) | 157 | ERROR@[232; 233) |
158 | EXCL@[232; 233) | 158 | EXCL@[232; 233) "!" |
159 | err: `expected FAT_ARROW` | 159 | err: `expected FAT_ARROW` |
160 | ARRAY_EXPR@[233; 250) | 160 | ARRAY_EXPR@[233; 250) |
161 | L_BRACK@[233; 234) | 161 | L_BRACK@[233; 234) "[" |
162 | CALL_EXPR@[234; 249) | 162 | CALL_EXPR@[234; 249) |
163 | PATH_EXPR@[234; 237) | 163 | PATH_EXPR@[234; 237) |
164 | PATH@[234; 237) | 164 | PATH@[234; 237) |
@@ -166,36 +166,36 @@ SOURCE_FILE@[0; 293) | |||
166 | NAME_REF@[234; 237) | 166 | NAME_REF@[234; 237) |
167 | IDENT@[234; 237) "doc" | 167 | IDENT@[234; 237) "doc" |
168 | ARG_LIST@[237; 249) | 168 | ARG_LIST@[237; 249) |
169 | L_PAREN@[237; 238) | 169 | L_PAREN@[237; 238) "(" |
170 | LITERAL@[238; 248) | 170 | LITERAL@[238; 248) |
171 | STRING@[238; 248) | 171 | STRING@[238; 248) "\"Nor here\"" |
172 | R_PAREN@[248; 249) | 172 | R_PAREN@[248; 249) ")" |
173 | R_BRACK@[249; 250) | 173 | R_BRACK@[249; 250) "]" |
174 | err: `expected COMMA` | 174 | err: `expected COMMA` |
175 | WHITESPACE@[250; 259) | 175 | WHITESPACE@[250; 259) "\n " |
176 | MATCH_ARM@[259; 266) | 176 | MATCH_ARM@[259; 266) |
177 | PLACEHOLDER_PAT@[259; 260) | 177 | PLACEHOLDER_PAT@[259; 260) |
178 | UNDERSCORE@[259; 260) | 178 | UNDERSCORE@[259; 260) "_" |
179 | WHITESPACE@[260; 261) | 179 | WHITESPACE@[260; 261) " " |
180 | FAT_ARROW@[261; 263) | 180 | FAT_ARROW@[261; 263) "=>" |
181 | WHITESPACE@[263; 264) | 181 | WHITESPACE@[263; 264) " " |
182 | TUPLE_EXPR@[264; 266) | 182 | TUPLE_EXPR@[264; 266) |
183 | L_PAREN@[264; 265) | 183 | L_PAREN@[264; 265) "(" |
184 | R_PAREN@[265; 266) | 184 | R_PAREN@[265; 266) ")" |
185 | COMMA@[266; 267) | 185 | COMMA@[266; 267) "," |
186 | WHITESPACE@[267; 276) | 186 | WHITESPACE@[267; 276) "\n " |
187 | MATCH_ARM@[276; 283) | 187 | MATCH_ARM@[276; 283) |
188 | PLACEHOLDER_PAT@[276; 277) | 188 | PLACEHOLDER_PAT@[276; 277) |
189 | UNDERSCORE@[276; 277) | 189 | UNDERSCORE@[276; 277) "_" |
190 | WHITESPACE@[277; 278) | 190 | WHITESPACE@[277; 278) " " |
191 | FAT_ARROW@[278; 280) | 191 | FAT_ARROW@[278; 280) "=>" |
192 | WHITESPACE@[280; 281) | 192 | WHITESPACE@[280; 281) " " |
193 | TUPLE_EXPR@[281; 283) | 193 | TUPLE_EXPR@[281; 283) |
194 | L_PAREN@[281; 282) | 194 | L_PAREN@[281; 282) "(" |
195 | R_PAREN@[282; 283) | 195 | R_PAREN@[282; 283) ")" |
196 | COMMA@[283; 284) | 196 | COMMA@[283; 284) "," |
197 | WHITESPACE@[284; 289) | 197 | WHITESPACE@[284; 289) "\n " |
198 | R_CURLY@[289; 290) | 198 | R_CURLY@[289; 290) "}" |
199 | WHITESPACE@[290; 291) | 199 | WHITESPACE@[290; 291) "\n" |
200 | R_CURLY@[291; 292) | 200 | R_CURLY@[291; 292) "}" |
201 | WHITESPACE@[292; 293) | 201 | WHITESPACE@[292; 293) "\n" |
diff --git a/crates/ra_syntax/tests/data/parser/err/0033_match_arms_outer_attrs.txt b/crates/ra_syntax/tests/data/parser/err/0033_match_arms_outer_attrs.txt index f540409bc..ac9cb63f7 100644 --- a/crates/ra_syntax/tests/data/parser/err/0033_match_arms_outer_attrs.txt +++ b/crates/ra_syntax/tests/data/parser/err/0033_match_arms_outer_attrs.txt | |||
@@ -1,64 +1,64 @@ | |||
1 | SOURCE_FILE@[0; 89) | 1 | SOURCE_FILE@[0; 89) |
2 | FN_DEF@[0; 88) | 2 | FN_DEF@[0; 88) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) "fn" |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) " " |
5 | NAME@[3; 6) | 5 | NAME@[3; 6) |
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | PARAM_LIST@[6; 8) | 7 | PARAM_LIST@[6; 8) |
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) "(" |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) ")" |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) " " |
11 | BLOCK@[9; 88) | 11 | BLOCK@[9; 88) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) "{" |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) "\n " |
14 | MATCH_EXPR@[15; 86) | 14 | MATCH_EXPR@[15; 86) |
15 | MATCH_KW@[15; 20) | 15 | MATCH_KW@[15; 20) "match" |
16 | WHITESPACE@[20; 21) | 16 | WHITESPACE@[20; 21) " " |
17 | TUPLE_EXPR@[21; 23) | 17 | TUPLE_EXPR@[21; 23) |
18 | L_PAREN@[21; 22) | 18 | L_PAREN@[21; 22) "(" |
19 | R_PAREN@[22; 23) | 19 | R_PAREN@[22; 23) ")" |
20 | WHITESPACE@[23; 24) | 20 | WHITESPACE@[23; 24) " " |
21 | MATCH_ARM_LIST@[24; 86) | 21 | MATCH_ARM_LIST@[24; 86) |
22 | L_CURLY@[24; 25) | 22 | L_CURLY@[24; 25) "{" |
23 | WHITESPACE@[25; 34) | 23 | WHITESPACE@[25; 34) "\n " |
24 | MATCH_ARM@[34; 41) | 24 | MATCH_ARM@[34; 41) |
25 | PLACEHOLDER_PAT@[34; 35) | 25 | PLACEHOLDER_PAT@[34; 35) |
26 | UNDERSCORE@[34; 35) | 26 | UNDERSCORE@[34; 35) "_" |
27 | WHITESPACE@[35; 36) | 27 | WHITESPACE@[35; 36) " " |
28 | FAT_ARROW@[36; 38) | 28 | FAT_ARROW@[36; 38) "=>" |
29 | WHITESPACE@[38; 39) | 29 | WHITESPACE@[38; 39) " " |
30 | TUPLE_EXPR@[39; 41) | 30 | TUPLE_EXPR@[39; 41) |
31 | L_PAREN@[39; 40) | 31 | L_PAREN@[39; 40) "(" |
32 | R_PAREN@[40; 41) | 32 | R_PAREN@[40; 41) ")" |
33 | COMMA@[41; 42) | 33 | COMMA@[41; 42) "," |
34 | WHITESPACE@[42; 51) | 34 | WHITESPACE@[42; 51) "\n " |
35 | MATCH_ARM@[51; 58) | 35 | MATCH_ARM@[51; 58) |
36 | PLACEHOLDER_PAT@[51; 52) | 36 | PLACEHOLDER_PAT@[51; 52) |
37 | UNDERSCORE@[51; 52) | 37 | UNDERSCORE@[51; 52) "_" |
38 | WHITESPACE@[52; 53) | 38 | WHITESPACE@[52; 53) " " |
39 | FAT_ARROW@[53; 55) | 39 | FAT_ARROW@[53; 55) "=>" |
40 | WHITESPACE@[55; 56) | 40 | WHITESPACE@[55; 56) " " |
41 | TUPLE_EXPR@[56; 58) | 41 | TUPLE_EXPR@[56; 58) |
42 | L_PAREN@[56; 57) | 42 | L_PAREN@[56; 57) "(" |
43 | R_PAREN@[57; 58) | 43 | R_PAREN@[57; 58) ")" |
44 | COMMA@[58; 59) | 44 | COMMA@[58; 59) "," |
45 | WHITESPACE@[59; 68) | 45 | WHITESPACE@[59; 68) "\n " |
46 | MATCH_ARM@[68; 80) | 46 | MATCH_ARM@[68; 80) |
47 | ATTR@[68; 80) | 47 | ATTR@[68; 80) |
48 | POUND@[68; 69) | 48 | POUND@[68; 69) "#" |
49 | TOKEN_TREE@[69; 80) | 49 | TOKEN_TREE@[69; 80) |
50 | L_BRACK@[69; 70) | 50 | L_BRACK@[69; 70) "[" |
51 | IDENT@[70; 73) "cfg" | 51 | IDENT@[70; 73) "cfg" |
52 | TOKEN_TREE@[73; 79) | 52 | TOKEN_TREE@[73; 79) |
53 | L_PAREN@[73; 74) | 53 | L_PAREN@[73; 74) "(" |
54 | IDENT@[74; 78) "test" | 54 | IDENT@[74; 78) "test" |
55 | R_PAREN@[78; 79) | 55 | R_PAREN@[78; 79) ")" |
56 | R_BRACK@[79; 80) | 56 | R_BRACK@[79; 80) "]" |
57 | err: `expected pattern` | 57 | err: `expected pattern` |
58 | err: `expected FAT_ARROW` | 58 | err: `expected FAT_ARROW` |
59 | err: `expected expression` | 59 | err: `expected expression` |
60 | WHITESPACE@[80; 85) | 60 | WHITESPACE@[80; 85) "\n " |
61 | R_CURLY@[85; 86) | 61 | R_CURLY@[85; 86) "}" |
62 | WHITESPACE@[86; 87) | 62 | WHITESPACE@[86; 87) "\n" |
63 | R_CURLY@[87; 88) | 63 | R_CURLY@[87; 88) "}" |
64 | WHITESPACE@[88; 89) | 64 | WHITESPACE@[88; 89) "\n" |