diff options
Diffstat (limited to 'crates/ra_syntax/test_data/parser/err')
22 files changed, 1474 insertions, 1441 deletions
diff --git a/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.txt b/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.txt index 6d5199a56..378b92834 100644 --- a/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.txt +++ b/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.txt | |||
@@ -25,10 +25,11 @@ SOURCE_FILE@[0; 54) | |||
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_EXPR@[28; 31) |
29 | L_CURLY@[28; 29) "{" | 29 | BLOCK@[28; 31) |
30 | WHITESPACE@[29; 30) "\n" | 30 | L_CURLY@[28; 29) "{" |
31 | R_CURLY@[30; 31) "}" | 31 | WHITESPACE@[29; 30) "\n" |
32 | R_CURLY@[30; 31) "}" | ||
32 | WHITESPACE@[31; 34) "\n\n\n" | 33 | WHITESPACE@[31; 34) "\n\n\n" |
33 | ATTR@[34; 53) | 34 | ATTR@[34; 53) |
34 | POUND@[34; 35) "#" | 35 | POUND@[34; 35) "#" |
diff --git a/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.txt b/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.txt index b79e01238..7ae417441 100644 --- a/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.txt +++ b/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.txt | |||
@@ -20,9 +20,10 @@ SOURCE_FILE@[0; 31) | |||
20 | PARAM_LIST@[23; 25) | 20 | PARAM_LIST@[23; 25) |
21 | L_PAREN@[23; 24) "(" | 21 | L_PAREN@[23; 24) "(" |
22 | R_PAREN@[24; 25) ")" | 22 | R_PAREN@[24; 25) ")" |
23 | BLOCK@[25; 27) | 23 | BLOCK_EXPR@[25; 27) |
24 | L_CURLY@[25; 26) "{" | 24 | BLOCK@[25; 27) |
25 | R_CURLY@[26; 27) "}" | 25 | L_CURLY@[25; 26) "{" |
26 | R_CURLY@[26; 27) "}" | ||
26 | WHITESPACE@[27; 29) "\n\n" | 27 | WHITESPACE@[27; 29) "\n\n" |
27 | ERROR@[29; 30) | 28 | ERROR@[29; 30) |
28 | R_CURLY@[29; 30) "}" | 29 | R_CURLY@[29; 30) "}" |
diff --git a/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.txt b/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.txt index 9a8871579..1a4b40a2b 100644 --- a/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.txt +++ b/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.txt | |||
@@ -8,10 +8,11 @@ SOURCE_FILE@[0; 95) | |||
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_EXPR@[9; 12) |
12 | L_CURLY@[9; 10) "{" | 12 | BLOCK@[9; 12) |
13 | WHITESPACE@[10; 11) "\n" | 13 | L_CURLY@[9; 10) "{" |
14 | R_CURLY@[11; 12) "}" | 14 | WHITESPACE@[10; 11) "\n" |
15 | R_CURLY@[11; 12) "}" | ||
15 | WHITESPACE@[12; 14) "\n\n" | 16 | WHITESPACE@[12; 14) "\n\n" |
16 | MACRO_CALL@[14; 19) | 17 | MACRO_CALL@[14; 19) |
17 | PATH@[14; 17) | 18 | PATH@[14; 17) |
@@ -32,29 +33,31 @@ SOURCE_FILE@[0; 95) | |||
32 | LITERAL@[29; 33) | 33 | LITERAL@[29; 33) |
33 | TRUE_KW@[29; 33) "true" | 34 | TRUE_KW@[29; 33) "true" |
34 | WHITESPACE@[33; 34) " " | 35 | WHITESPACE@[33; 34) " " |
35 | BLOCK@[34; 51) | 36 | BLOCK_EXPR@[34; 51) |
36 | L_CURLY@[34; 35) "{" | 37 | BLOCK@[34; 51) |
37 | WHITESPACE@[35; 44) "\n " | 38 | L_CURLY@[34; 35) "{" |
38 | LITERAL@[44; 45) | 39 | WHITESPACE@[35; 44) "\n " |
39 | INT_NUMBER@[44; 45) "1" | 40 | LITERAL@[44; 45) |
40 | WHITESPACE@[45; 50) "\n " | 41 | INT_NUMBER@[44; 45) "1" |
41 | R_CURLY@[50; 51) "}" | 42 | WHITESPACE@[45; 50) "\n " |
43 | R_CURLY@[50; 51) "}" | ||
42 | WHITESPACE@[51; 52) " " | 44 | WHITESPACE@[51; 52) " " |
43 | ELSE_KW@[52; 56) "else" | 45 | ELSE_KW@[52; 56) "else" |
44 | WHITESPACE@[56; 57) " " | 46 | WHITESPACE@[56; 57) " " |
45 | BLOCK@[57; 78) | 47 | BLOCK_EXPR@[57; 78) |
46 | L_CURLY@[57; 58) "{" | 48 | BLOCK@[57; 78) |
47 | WHITESPACE@[58; 67) "\n " | 49 | L_CURLY@[57; 58) "{" |
48 | BIN_EXPR@[67; 72) | 50 | WHITESPACE@[58; 67) "\n " |
49 | LITERAL@[67; 68) | 51 | BIN_EXPR@[67; 72) |
50 | INT_NUMBER@[67; 68) "2" | 52 | LITERAL@[67; 68) |
51 | WHITESPACE@[68; 69) " " | 53 | INT_NUMBER@[67; 68) "2" |
52 | PLUS@[69; 70) "+" | 54 | WHITESPACE@[68; 69) " " |
53 | WHITESPACE@[70; 71) " " | 55 | PLUS@[69; 70) "+" |
54 | LITERAL@[71; 72) | 56 | WHITESPACE@[70; 71) " " |
55 | INT_NUMBER@[71; 72) "3" | 57 | LITERAL@[71; 72) |
56 | WHITESPACE@[72; 77) "\n " | 58 | INT_NUMBER@[71; 72) "3" |
57 | R_CURLY@[77; 78) "}" | 59 | WHITESPACE@[72; 77) "\n " |
60 | R_CURLY@[77; 78) "}" | ||
58 | WHITESPACE@[78; 79) "\n" | 61 | WHITESPACE@[78; 79) "\n" |
59 | R_CURLY@[79; 80) "}" | 62 | R_CURLY@[79; 80) "}" |
60 | WHITESPACE@[80; 82) "\n\n" | 63 | WHITESPACE@[80; 82) "\n\n" |
@@ -67,10 +70,11 @@ SOURCE_FILE@[0; 95) | |||
67 | L_PAREN@[88; 89) "(" | 70 | L_PAREN@[88; 89) "(" |
68 | R_PAREN@[89; 90) ")" | 71 | R_PAREN@[89; 90) ")" |
69 | WHITESPACE@[90; 91) " " | 72 | WHITESPACE@[90; 91) " " |
70 | BLOCK@[91; 94) | 73 | BLOCK_EXPR@[91; 94) |
71 | L_CURLY@[91; 92) "{" | 74 | BLOCK@[91; 94) |
72 | WHITESPACE@[92; 93) "\n" | 75 | L_CURLY@[91; 92) "{" |
73 | R_CURLY@[93; 94) "}" | 76 | WHITESPACE@[92; 93) "\n" |
77 | R_CURLY@[93; 94) "}" | ||
74 | WHITESPACE@[94; 95) "\n" | 78 | WHITESPACE@[94; 95) "\n" |
75 | error 17: expected EXCL | 79 | error 17: expected EXCL |
76 | error 19: expected SEMI | 80 | error 19: expected SEMI |
diff --git a/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.txt b/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.txt index c46809f81..b73dda5ad 100644 --- a/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.txt +++ b/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.txt | |||
@@ -8,35 +8,36 @@ SOURCE_FILE@[0; 42) | |||
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_EXPR@[10; 41) |
12 | L_CURLY@[10; 11) "{" | 12 | BLOCK@[10; 41) |
13 | WHITESPACE@[11; 16) "\n " | 13 | L_CURLY@[10; 11) "{" |
14 | EXPR_STMT@[16; 39) | 14 | WHITESPACE@[11; 16) "\n " |
15 | LAMBDA_EXPR@[16; 38) | 15 | EXPR_STMT@[16; 39) |
16 | PARAM_LIST@[16; 18) | 16 | LAMBDA_EXPR@[16; 38) |
17 | PIPE@[16; 17) "|" | 17 | PARAM_LIST@[16; 18) |
18 | PIPE@[17; 18) "|" | 18 | PIPE@[16; 17) "|" |
19 | WHITESPACE@[18; 19) " " | 19 | PIPE@[17; 18) "|" |
20 | RET_TYPE@[19; 24) | 20 | WHITESPACE@[18; 19) " " |
21 | THIN_ARROW@[19; 21) "->" | 21 | RET_TYPE@[19; 24) |
22 | WHITESPACE@[21; 22) " " | 22 | THIN_ARROW@[19; 21) "->" |
23 | TUPLE_TYPE@[22; 24) | 23 | WHITESPACE@[21; 22) " " |
24 | L_PAREN@[22; 23) "(" | 24 | TUPLE_TYPE@[22; 24) |
25 | R_PAREN@[23; 24) ")" | 25 | L_PAREN@[22; 23) "(" |
26 | WHITESPACE@[24; 25) " " | 26 | R_PAREN@[23; 24) ")" |
27 | BLOCK_EXPR@[25; 38) | 27 | WHITESPACE@[24; 25) " " |
28 | UNSAFE_KW@[25; 31) "unsafe" | 28 | BLOCK_EXPR@[25; 38) |
29 | WHITESPACE@[31; 32) " " | 29 | UNSAFE_KW@[25; 31) "unsafe" |
30 | BLOCK@[32; 38) | 30 | WHITESPACE@[31; 32) " " |
31 | L_CURLY@[32; 33) "{" | 31 | BLOCK@[32; 38) |
32 | WHITESPACE@[33; 34) " " | 32 | L_CURLY@[32; 33) "{" |
33 | TUPLE_EXPR@[34; 36) | 33 | WHITESPACE@[33; 34) " " |
34 | L_PAREN@[34; 35) "(" | 34 | TUPLE_EXPR@[34; 36) |
35 | R_PAREN@[35; 36) ")" | 35 | L_PAREN@[34; 35) "(" |
36 | WHITESPACE@[36; 37) " " | 36 | R_PAREN@[35; 36) ")" |
37 | R_CURLY@[37; 38) "}" | 37 | WHITESPACE@[36; 37) " " |
38 | SEMI@[38; 39) ";" | 38 | R_CURLY@[37; 38) "}" |
39 | WHITESPACE@[39; 40) "\n" | 39 | SEMI@[38; 39) ";" |
40 | R_CURLY@[40; 41) "}" | 40 | WHITESPACE@[39; 40) "\n" |
41 | R_CURLY@[40; 41) "}" | ||
41 | WHITESPACE@[41; 42) "\n" | 42 | WHITESPACE@[41; 42) "\n" |
42 | error 24: expected `{` | 43 | error 24: expected `{` |
diff --git a/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.txt b/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.txt index 2f0878572..0ba17cf8d 100644 --- a/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.txt +++ b/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.txt | |||
@@ -24,8 +24,9 @@ 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 | WHITESPACE@[19; 20) " " | 26 | WHITESPACE@[19; 20) " " |
27 | BLOCK@[20; 22) | 27 | BLOCK_EXPR@[20; 22) |
28 | L_CURLY@[20; 21) "{" | 28 | BLOCK@[20; 22) |
29 | R_CURLY@[21; 22) "}" | 29 | L_CURLY@[20; 21) "{" |
30 | R_CURLY@[21; 22) "}" | ||
30 | WHITESPACE@[22; 23) "\n" | 31 | WHITESPACE@[22; 23) "\n" |
31 | error 19: expected colon | 32 | error 19: expected colon |
diff --git a/crates/ra_syntax/test_data/parser/err/0016_missing_semi.txt b/crates/ra_syntax/test_data/parser/err/0016_missing_semi.txt index 97e64dea9..bc5be6a66 100644 --- a/crates/ra_syntax/test_data/parser/err/0016_missing_semi.txt +++ b/crates/ra_syntax/test_data/parser/err/0016_missing_semi.txt | |||
@@ -8,36 +8,37 @@ SOURCE_FILE@[0; 56) | |||
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_EXPR@[9; 55) |
12 | L_CURLY@[9; 10) "{" | 12 | BLOCK@[9; 55) |
13 | WHITESPACE@[10; 15) "\n " | 13 | L_CURLY@[9; 10) "{" |
14 | EXPR_STMT@[15; 38) | 14 | WHITESPACE@[10; 15) "\n " |
15 | CALL_EXPR@[15; 38) | 15 | EXPR_STMT@[15; 38) |
16 | PATH_EXPR@[15; 18) | 16 | CALL_EXPR@[15; 38) |
17 | PATH@[15; 18) | 17 | PATH_EXPR@[15; 18) |
18 | PATH_SEGMENT@[15; 18) | 18 | PATH@[15; 18) |
19 | NAME_REF@[15; 18) | 19 | PATH_SEGMENT@[15; 18) |
20 | IDENT@[15; 18) "foo" | 20 | NAME_REF@[15; 18) |
21 | ARG_LIST@[18; 38) | 21 | IDENT@[15; 18) "foo" |
22 | L_PAREN@[18; 19) "(" | 22 | ARG_LIST@[18; 38) |
23 | WHITESPACE@[19; 28) "\n " | 23 | L_PAREN@[18; 19) "(" |
24 | LITERAL@[28; 29) | 24 | WHITESPACE@[19; 28) "\n " |
25 | INT_NUMBER@[28; 29) "1" | 25 | LITERAL@[28; 29) |
26 | COMMA@[29; 30) "," | 26 | INT_NUMBER@[28; 29) "1" |
27 | WHITESPACE@[30; 31) " " | 27 | COMMA@[29; 30) "," |
28 | LITERAL@[31; 32) | 28 | WHITESPACE@[30; 31) " " |
29 | INT_NUMBER@[31; 32) "2" | 29 | LITERAL@[31; 32) |
30 | WHITESPACE@[32; 37) "\n " | 30 | INT_NUMBER@[31; 32) "2" |
31 | R_PAREN@[37; 38) ")" | 31 | WHITESPACE@[32; 37) "\n " |
32 | WHITESPACE@[38; 43) "\n " | 32 | R_PAREN@[37; 38) ")" |
33 | EXPR_STMT@[43; 53) | 33 | WHITESPACE@[38; 43) "\n " |
34 | RETURN_EXPR@[43; 52) | 34 | EXPR_STMT@[43; 53) |
35 | RETURN_KW@[43; 49) "return" | 35 | RETURN_EXPR@[43; 52) |
36 | WHITESPACE@[49; 50) " " | 36 | RETURN_KW@[43; 49) "return" |
37 | LITERAL@[50; 52) | 37 | WHITESPACE@[49; 50) " " |
38 | INT_NUMBER@[50; 52) "92" | 38 | LITERAL@[50; 52) |
39 | SEMI@[52; 53) ";" | 39 | INT_NUMBER@[50; 52) "92" |
40 | WHITESPACE@[53; 54) "\n" | 40 | SEMI@[52; 53) ";" |
41 | R_CURLY@[54; 55) "}" | 41 | WHITESPACE@[53; 54) "\n" |
42 | R_CURLY@[54; 55) "}" | ||
42 | WHITESPACE@[55; 56) "\n" | 43 | WHITESPACE@[55; 56) "\n" |
43 | error 38: expected SEMI | 44 | error 38: expected SEMI |
diff --git a/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.txt b/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.txt index c18e20900..9033a5b38 100644 --- a/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.txt +++ b/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.txt | |||
@@ -19,28 +19,29 @@ SOURCE_FILE@[0; 47) | |||
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_EXPR@[17; 46) |
23 | L_CURLY@[17; 18) "{" | 23 | BLOCK@[17; 46) |
24 | WHITESPACE@[18; 23) "\n " | 24 | L_CURLY@[17; 18) "{" |
25 | LET_STMT@[23; 36) | 25 | WHITESPACE@[18; 23) "\n " |
26 | LET_KW@[23; 26) "let" | 26 | LET_STMT@[23; 36) |
27 | WHITESPACE@[26; 27) " " | 27 | LET_KW@[23; 26) "let" |
28 | BIND_PAT@[27; 30) | 28 | WHITESPACE@[26; 27) " " |
29 | NAME@[27; 30) | 29 | BIND_PAT@[27; 30) |
30 | IDENT@[27; 30) "bar" | 30 | NAME@[27; 30) |
31 | WHITESPACE@[30; 31) " " | 31 | IDENT@[27; 30) "bar" |
32 | EQ@[31; 32) "=" | 32 | WHITESPACE@[30; 31) " " |
33 | WHITESPACE@[32; 33) " " | 33 | EQ@[31; 32) "=" |
34 | LITERAL@[33; 35) | 34 | WHITESPACE@[32; 33) " " |
35 | INT_NUMBER@[33; 35) "92" | 35 | LITERAL@[33; 35) |
36 | SEMI@[35; 36) ";" | 36 | INT_NUMBER@[33; 35) "92" |
37 | WHITESPACE@[36; 41) "\n " | 37 | SEMI@[35; 36) ";" |
38 | BIN_EXPR@[41; 44) | 38 | WHITESPACE@[36; 41) "\n " |
39 | LITERAL@[41; 42) | 39 | BIN_EXPR@[41; 44) |
40 | INT_NUMBER@[41; 42) "1" | 40 | LITERAL@[41; 42) |
41 | WHITESPACE@[42; 43) " " | 41 | INT_NUMBER@[41; 42) "1" |
42 | PLUS@[43; 44) "+" | 42 | WHITESPACE@[42; 43) " " |
43 | WHITESPACE@[44; 45) "\n" | 43 | PLUS@[43; 44) "+" |
44 | R_CURLY@[45; 46) "}" | 44 | WHITESPACE@[44; 45) "\n" |
45 | R_CURLY@[45; 46) "}" | ||
45 | WHITESPACE@[46; 47) "\n" | 46 | WHITESPACE@[46; 47) "\n" |
46 | error 44: expected expression | 47 | error 44: expected expression |
diff --git a/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.txt b/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.txt index 52eb7d5e2..d12f4c99b 100644 --- a/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.txt +++ b/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.txt | |||
@@ -32,89 +32,90 @@ SOURCE_FILE@[0; 183) | |||
32 | NAME_REF@[39; 46) | 32 | NAME_REF@[39; 46) |
33 | IDENT@[39; 46) "ScopeId" | 33 | IDENT@[39; 46) "ScopeId" |
34 | WHITESPACE@[46; 47) " " | 34 | WHITESPACE@[46; 47) " " |
35 | BLOCK@[47; 161) | 35 | BLOCK_EXPR@[47; 161) |
36 | L_CURLY@[47; 48) "{" | 36 | BLOCK@[47; 161) |
37 | WHITESPACE@[48; 57) "\n " | 37 | L_CURLY@[47; 48) "{" |
38 | LET_STMT@[57; 85) | 38 | WHITESPACE@[48; 57) "\n " |
39 | LET_KW@[57; 60) "let" | 39 | LET_STMT@[57; 85) |
40 | WHITESPACE@[60; 61) " " | 40 | LET_KW@[57; 60) "let" |
41 | BIND_PAT@[61; 64) | 41 | WHITESPACE@[60; 61) " " |
42 | NAME@[61; 64) | 42 | BIND_PAT@[61; 64) |
43 | IDENT@[61; 64) "res" | 43 | NAME@[61; 64) |
44 | WHITESPACE@[64; 65) " " | 44 | IDENT@[61; 64) "res" |
45 | EQ@[65; 66) "=" | 45 | WHITESPACE@[64; 65) " " |
46 | WHITESPACE@[66; 67) " " | 46 | EQ@[65; 66) "=" |
47 | METHOD_CALL_EXPR@[67; 84) | 47 | WHITESPACE@[66; 67) " " |
48 | FIELD_EXPR@[67; 78) | 48 | METHOD_CALL_EXPR@[67; 84) |
49 | PATH_EXPR@[67; 71) | 49 | FIELD_EXPR@[67; 78) |
50 | PATH@[67; 71) | 50 | PATH_EXPR@[67; 71) |
51 | PATH_SEGMENT@[67; 71) | 51 | PATH@[67; 71) |
52 | SELF_KW@[67; 71) "self" | 52 | PATH_SEGMENT@[67; 71) |
53 | DOT@[71; 72) "." | 53 | SELF_KW@[67; 71) "self" |
54 | NAME_REF@[72; 78) | 54 | DOT@[71; 72) "." |
55 | IDENT@[72; 78) "scopes" | 55 | NAME_REF@[72; 78) |
56 | DOT@[78; 79) "." | 56 | IDENT@[72; 78) "scopes" |
57 | NAME_REF@[79; 82) | 57 | DOT@[78; 79) "." |
58 | IDENT@[79; 82) "len" | 58 | NAME_REF@[79; 82) |
59 | ARG_LIST@[82; 84) | 59 | IDENT@[79; 82) "len" |
60 | L_PAREN@[82; 83) "(" | 60 | ARG_LIST@[82; 84) |
61 | R_PAREN@[83; 84) ")" | 61 | L_PAREN@[82; 83) "(" |
62 | SEMI@[84; 85) ";" | 62 | R_PAREN@[83; 84) ")" |
63 | WHITESPACE@[85; 94) "\n " | 63 | SEMI@[84; 85) ";" |
64 | METHOD_CALL_EXPR@[94; 155) | 64 | WHITESPACE@[85; 94) "\n " |
65 | FIELD_EXPR@[94; 105) | 65 | METHOD_CALL_EXPR@[94; 155) |
66 | PATH_EXPR@[94; 98) | 66 | FIELD_EXPR@[94; 105) |
67 | PATH@[94; 98) | 67 | PATH_EXPR@[94; 98) |
68 | PATH_SEGMENT@[94; 98) | 68 | PATH@[94; 98) |
69 | SELF_KW@[94; 98) "self" | 69 | PATH_SEGMENT@[94; 98) |
70 | DOT@[98; 99) "." | 70 | SELF_KW@[94; 98) "self" |
71 | NAME_REF@[99; 105) | 71 | DOT@[98; 99) "." |
72 | IDENT@[99; 105) "scopes" | 72 | NAME_REF@[99; 105) |
73 | DOT@[105; 106) "." | 73 | IDENT@[99; 105) "scopes" |
74 | NAME_REF@[106; 110) | 74 | DOT@[105; 106) "." |
75 | IDENT@[106; 110) "push" | 75 | NAME_REF@[106; 110) |
76 | ARG_LIST@[110; 155) | 76 | IDENT@[106; 110) "push" |
77 | L_PAREN@[110; 111) "(" | 77 | ARG_LIST@[110; 155) |
78 | RECORD_LIT@[111; 154) | 78 | L_PAREN@[110; 111) "(" |
79 | PATH@[111; 120) | 79 | RECORD_LIT@[111; 154) |
80 | PATH_SEGMENT@[111; 120) | 80 | PATH@[111; 120) |
81 | NAME_REF@[111; 120) | 81 | PATH_SEGMENT@[111; 120) |
82 | IDENT@[111; 120) "ScopeData" | 82 | NAME_REF@[111; 120) |
83 | WHITESPACE@[120; 121) " " | 83 | IDENT@[111; 120) "ScopeData" |
84 | RECORD_FIELD_LIST@[121; 154) | 84 | WHITESPACE@[120; 121) " " |
85 | L_CURLY@[121; 122) "{" | 85 | RECORD_FIELD_LIST@[121; 154) |
86 | WHITESPACE@[122; 123) " " | 86 | L_CURLY@[121; 122) "{" |
87 | RECORD_FIELD@[123; 135) | 87 | WHITESPACE@[122; 123) " " |
88 | NAME_REF@[123; 129) | 88 | RECORD_FIELD@[123; 135) |
89 | IDENT@[123; 129) "parent" | 89 | NAME_REF@[123; 129) |
90 | COLON@[129; 130) ":" | 90 | IDENT@[123; 129) "parent" |
91 | WHITESPACE@[130; 131) " " | 91 | COLON@[129; 130) ":" |
92 | PATH_EXPR@[131; 135) | 92 | WHITESPACE@[130; 131) " " |
93 | PATH@[131; 135) | 93 | PATH_EXPR@[131; 135) |
94 | PATH_SEGMENT@[131; 135) | 94 | PATH@[131; 135) |
95 | NAME_REF@[131; 135) | 95 | PATH_SEGMENT@[131; 135) |
96 | IDENT@[131; 135) "None" | 96 | NAME_REF@[131; 135) |
97 | COMMA@[135; 136) "," | 97 | IDENT@[131; 135) "None" |
98 | WHITESPACE@[136; 137) " " | 98 | COMMA@[135; 136) "," |
99 | RECORD_FIELD@[137; 152) | 99 | WHITESPACE@[136; 137) " " |
100 | NAME_REF@[137; 144) | 100 | RECORD_FIELD@[137; 152) |
101 | IDENT@[137; 144) "entries" | 101 | NAME_REF@[137; 144) |
102 | COLON@[144; 145) ":" | 102 | IDENT@[137; 144) "entries" |
103 | WHITESPACE@[145; 146) " " | 103 | COLON@[144; 145) ":" |
104 | MACRO_CALL@[146; 152) | 104 | WHITESPACE@[145; 146) " " |
105 | PATH@[146; 149) | 105 | MACRO_CALL@[146; 152) |
106 | PATH_SEGMENT@[146; 149) | 106 | PATH@[146; 149) |
107 | NAME_REF@[146; 149) | 107 | PATH_SEGMENT@[146; 149) |
108 | IDENT@[146; 149) "vec" | 108 | NAME_REF@[146; 149) |
109 | EXCL@[149; 150) "!" | 109 | IDENT@[146; 149) "vec" |
110 | TOKEN_TREE@[150; 152) | 110 | EXCL@[149; 150) "!" |
111 | L_BRACK@[150; 151) "[" | 111 | TOKEN_TREE@[150; 152) |
112 | R_BRACK@[151; 152) "]" | 112 | L_BRACK@[150; 151) "[" |
113 | WHITESPACE@[152; 153) " " | 113 | R_BRACK@[151; 152) "]" |
114 | R_CURLY@[153; 154) "}" | 114 | WHITESPACE@[152; 153) " " |
115 | R_PAREN@[154; 155) ")" | 115 | R_CURLY@[153; 154) "}" |
116 | WHITESPACE@[155; 160) "\n " | 116 | R_PAREN@[154; 155) ")" |
117 | R_CURLY@[160; 161) "}" | 117 | WHITESPACE@[155; 160) "\n " |
118 | R_CURLY@[160; 161) "}" | ||
118 | WHITESPACE@[161; 167) "\n\n " | 119 | WHITESPACE@[161; 167) "\n\n " |
119 | FN_DEF@[167; 180) | 120 | FN_DEF@[167; 180) |
120 | FN_KW@[167; 169) "fn" | 121 | FN_KW@[167; 169) "fn" |
diff --git a/crates/ra_syntax/test_data/parser/err/0019_let_recover.txt b/crates/ra_syntax/test_data/parser/err/0019_let_recover.txt index b6710241e..cc3578e54 100644 --- a/crates/ra_syntax/test_data/parser/err/0019_let_recover.txt +++ b/crates/ra_syntax/test_data/parser/err/0019_let_recover.txt | |||
@@ -8,88 +8,92 @@ SOURCE_FILE@[0; 139) | |||
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_EXPR@[9; 138) |
12 | L_CURLY@[9; 10) "{" | 12 | BLOCK@[9; 138) |
13 | WHITESPACE@[10; 15) "\n " | 13 | L_CURLY@[9; 10) "{" |
14 | LET_STMT@[15; 24) | 14 | WHITESPACE@[10; 15) "\n " |
15 | LET_KW@[15; 18) "let" | 15 | LET_STMT@[15; 24) |
16 | WHITESPACE@[18; 19) " " | 16 | LET_KW@[15; 18) "let" |
17 | BIND_PAT@[19; 22) | 17 | WHITESPACE@[18; 19) " " |
18 | NAME@[19; 22) | 18 | BIND_PAT@[19; 22) |
19 | IDENT@[19; 22) "foo" | 19 | NAME@[19; 22) |
20 | WHITESPACE@[22; 23) " " | 20 | IDENT@[19; 22) "foo" |
21 | EQ@[23; 24) "=" | 21 | WHITESPACE@[22; 23) " " |
22 | WHITESPACE@[24; 29) "\n " | 22 | EQ@[23; 24) "=" |
23 | LET_STMT@[29; 41) | 23 | WHITESPACE@[24; 29) "\n " |
24 | LET_KW@[29; 32) "let" | 24 | LET_STMT@[29; 41) |
25 | WHITESPACE@[32; 33) " " | 25 | LET_KW@[29; 32) "let" |
26 | BIND_PAT@[33; 36) | 26 | WHITESPACE@[32; 33) " " |
27 | NAME@[33; 36) | 27 | BIND_PAT@[33; 36) |
28 | IDENT@[33; 36) "bar" | 28 | NAME@[33; 36) |
29 | WHITESPACE@[36; 37) " " | 29 | IDENT@[33; 36) "bar" |
30 | EQ@[37; 38) "=" | 30 | WHITESPACE@[36; 37) " " |
31 | WHITESPACE@[38; 39) " " | 31 | EQ@[37; 38) "=" |
32 | LITERAL@[39; 40) | 32 | WHITESPACE@[38; 39) " " |
33 | INT_NUMBER@[39; 40) "1" | 33 | LITERAL@[39; 40) |
34 | SEMI@[40; 41) ";" | 34 | INT_NUMBER@[39; 40) "1" |
35 | WHITESPACE@[41; 46) "\n " | 35 | SEMI@[40; 41) ";" |
36 | LET_STMT@[46; 49) | 36 | WHITESPACE@[41; 46) "\n " |
37 | LET_KW@[46; 49) "let" | 37 | LET_STMT@[46; 49) |
38 | WHITESPACE@[49; 54) "\n " | 38 | LET_KW@[46; 49) "let" |
39 | LET_STMT@[54; 67) | 39 | WHITESPACE@[49; 54) "\n " |
40 | LET_KW@[54; 57) "let" | 40 | LET_STMT@[54; 67) |
41 | WHITESPACE@[57; 58) " " | 41 | LET_KW@[54; 57) "let" |
42 | BIND_PAT@[58; 61) | 42 | WHITESPACE@[57; 58) " " |
43 | NAME@[58; 61) | 43 | BIND_PAT@[58; 61) |
44 | IDENT@[58; 61) "baz" | 44 | NAME@[58; 61) |
45 | WHITESPACE@[61; 62) " " | 45 | IDENT@[58; 61) "baz" |
46 | EQ@[62; 63) "=" | 46 | WHITESPACE@[61; 62) " " |
47 | WHITESPACE@[63; 64) " " | 47 | EQ@[62; 63) "=" |
48 | LITERAL@[64; 66) | 48 | WHITESPACE@[63; 64) " " |
49 | INT_NUMBER@[64; 66) "92" | 49 | LITERAL@[64; 66) |
50 | SEMI@[66; 67) ";" | 50 | INT_NUMBER@[64; 66) "92" |
51 | WHITESPACE@[67; 72) "\n " | 51 | SEMI@[66; 67) ";" |
52 | LET_STMT@[72; 75) | 52 | WHITESPACE@[67; 72) "\n " |
53 | LET_KW@[72; 75) "let" | 53 | LET_STMT@[72; 75) |
54 | WHITESPACE@[75; 80) "\n " | 54 | LET_KW@[72; 75) "let" |
55 | EXPR_STMT@[80; 90) | 55 | WHITESPACE@[75; 80) "\n " |
56 | IF_EXPR@[80; 90) | 56 | EXPR_STMT@[80; 90) |
57 | IF_KW@[80; 82) "if" | 57 | IF_EXPR@[80; 90) |
58 | WHITESPACE@[82; 83) " " | 58 | IF_KW@[80; 82) "if" |
59 | CONDITION@[83; 87) | 59 | WHITESPACE@[82; 83) " " |
60 | LITERAL@[83; 87) | 60 | CONDITION@[83; 87) |
61 | TRUE_KW@[83; 87) "true" | 61 | LITERAL@[83; 87) |
62 | WHITESPACE@[87; 88) " " | 62 | TRUE_KW@[83; 87) "true" |
63 | BLOCK@[88; 90) | 63 | WHITESPACE@[87; 88) " " |
64 | L_CURLY@[88; 89) "{" | 64 | BLOCK_EXPR@[88; 90) |
65 | R_CURLY@[89; 90) "}" | 65 | BLOCK@[88; 90) |
66 | WHITESPACE@[90; 95) "\n " | 66 | L_CURLY@[88; 89) "{" |
67 | LET_STMT@[95; 98) | 67 | R_CURLY@[89; 90) "}" |
68 | LET_KW@[95; 98) "let" | 68 | WHITESPACE@[90; 95) "\n " |
69 | WHITESPACE@[98; 103) "\n " | 69 | LET_STMT@[95; 98) |
70 | EXPR_STMT@[103; 116) | 70 | LET_KW@[95; 98) "let" |
71 | WHILE_EXPR@[103; 116) | 71 | WHITESPACE@[98; 103) "\n " |
72 | WHILE_KW@[103; 108) "while" | 72 | EXPR_STMT@[103; 116) |
73 | WHITESPACE@[108; 109) " " | 73 | WHILE_EXPR@[103; 116) |
74 | CONDITION@[109; 113) | 74 | WHILE_KW@[103; 108) "while" |
75 | LITERAL@[109; 113) | 75 | WHITESPACE@[108; 109) " " |
76 | TRUE_KW@[109; 113) "true" | 76 | CONDITION@[109; 113) |
77 | WHITESPACE@[113; 114) " " | 77 | LITERAL@[109; 113) |
78 | BLOCK@[114; 116) | 78 | TRUE_KW@[109; 113) "true" |
79 | L_CURLY@[114; 115) "{" | 79 | WHITESPACE@[113; 114) " " |
80 | R_CURLY@[115; 116) "}" | 80 | BLOCK_EXPR@[114; 116) |
81 | WHITESPACE@[116; 121) "\n " | 81 | BLOCK@[114; 116) |
82 | LET_STMT@[121; 124) | 82 | L_CURLY@[114; 115) "{" |
83 | LET_KW@[121; 124) "let" | 83 | R_CURLY@[115; 116) "}" |
84 | WHITESPACE@[124; 129) "\n " | 84 | WHITESPACE@[116; 121) "\n " |
85 | LOOP_EXPR@[129; 136) | 85 | LET_STMT@[121; 124) |
86 | LOOP_KW@[129; 133) "loop" | 86 | LET_KW@[121; 124) "let" |
87 | WHITESPACE@[133; 134) " " | 87 | WHITESPACE@[124; 129) "\n " |
88 | BLOCK@[134; 136) | 88 | LOOP_EXPR@[129; 136) |
89 | L_CURLY@[134; 135) "{" | 89 | LOOP_KW@[129; 133) "loop" |
90 | R_CURLY@[135; 136) "}" | 90 | WHITESPACE@[133; 134) " " |
91 | WHITESPACE@[136; 137) "\n" | 91 | BLOCK_EXPR@[134; 136) |
92 | R_CURLY@[137; 138) "}" | 92 | BLOCK@[134; 136) |
93 | L_CURLY@[134; 135) "{" | ||
94 | R_CURLY@[135; 136) "}" | ||
95 | WHITESPACE@[136; 137) "\n" | ||
96 | R_CURLY@[137; 138) "}" | ||
93 | WHITESPACE@[138; 139) "\n" | 97 | WHITESPACE@[138; 139) "\n" |
94 | error 24: expected expression | 98 | error 24: expected expression |
95 | error 24: expected SEMI | 99 | error 24: expected SEMI |
diff --git a/crates/ra_syntax/test_data/parser/err/0020_fn_recover.txt b/crates/ra_syntax/test_data/parser/err/0020_fn_recover.txt index 71c014028..70727d059 100644 --- a/crates/ra_syntax/test_data/parser/err/0020_fn_recover.txt +++ b/crates/ra_syntax/test_data/parser/err/0020_fn_recover.txt | |||
@@ -11,9 +11,10 @@ SOURCE_FILE@[0; 16) | |||
11 | L_PAREN@[10; 11) "(" | 11 | L_PAREN@[10; 11) "(" |
12 | R_PAREN@[11; 12) ")" | 12 | R_PAREN@[11; 12) ")" |
13 | WHITESPACE@[12; 13) " " | 13 | WHITESPACE@[12; 13) " " |
14 | BLOCK@[13; 15) | 14 | BLOCK_EXPR@[13; 15) |
15 | L_CURLY@[13; 14) "{" | 15 | BLOCK@[13; 15) |
16 | R_CURLY@[14; 15) "}" | 16 | L_CURLY@[13; 14) "{" |
17 | R_CURLY@[14; 15) "}" | ||
17 | WHITESPACE@[15; 16) "\n" | 18 | WHITESPACE@[15; 16) "\n" |
18 | error 2: expected a name | 19 | error 2: expected a name |
19 | error 2: expected function arguments | 20 | error 2: expected function arguments |
diff --git a/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.txt b/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.txt index c125a0bc9..333782480 100644 --- a/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.txt +++ b/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.txt | |||
@@ -25,10 +25,11 @@ SOURCE_FILE@[0; 22) | |||
25 | IDENT@[15; 16) "y" | 25 | IDENT@[15; 16) "y" |
26 | R_PAREN@[16; 17) ")" | 26 | R_PAREN@[16; 17) ")" |
27 | WHITESPACE@[17; 18) " " | 27 | WHITESPACE@[17; 18) " " |
28 | BLOCK@[18; 21) | 28 | BLOCK_EXPR@[18; 21) |
29 | L_CURLY@[18; 19) "{" | 29 | BLOCK@[18; 21) |
30 | WHITESPACE@[19; 20) "\n" | 30 | L_CURLY@[18; 19) "{" |
31 | R_CURLY@[20; 21) "}" | 31 | WHITESPACE@[19; 20) "\n" |
32 | R_CURLY@[20; 21) "}" | ||
32 | WHITESPACE@[21; 22) "\n" | 33 | WHITESPACE@[21; 22) "\n" |
33 | error 16: expected COLON | 34 | error 16: expected COLON |
34 | error 16: expected type | 35 | error 16: expected type |
diff --git a/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.txt b/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.txt index 32b53bba7..ee0ac52c3 100644 --- a/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.txt +++ b/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.txt | |||
@@ -8,38 +8,39 @@ SOURCE_FILE@[0; 112) | |||
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_EXPR@[7; 33) |
12 | L_CURLY@[7; 8) "{" | 12 | BLOCK@[7; 33) |
13 | WHITESPACE@[8; 9) " " | 13 | L_CURLY@[7; 8) "{" |
14 | EXPR_STMT@[9; 15) | 14 | WHITESPACE@[8; 9) " " |
15 | ARRAY_EXPR@[9; 15) | 15 | EXPR_STMT@[9; 15) |
16 | L_BRACK@[9; 10) "[" | 16 | ARRAY_EXPR@[9; 15) |
17 | LITERAL@[10; 11) | 17 | L_BRACK@[9; 10) "[" |
18 | INT_NUMBER@[10; 11) "1" | 18 | LITERAL@[10; 11) |
19 | COMMA@[11; 12) "," | 19 | INT_NUMBER@[10; 11) "1" |
20 | WHITESPACE@[12; 13) " " | 20 | COMMA@[11; 12) "," |
21 | LITERAL@[13; 14) | 21 | WHITESPACE@[12; 13) " " |
22 | INT_NUMBER@[13; 14) "2" | 22 | LITERAL@[13; 14) |
23 | COMMA@[14; 15) "," | 23 | INT_NUMBER@[13; 14) "2" |
24 | WHITESPACE@[15; 16) " " | 24 | COMMA@[14; 15) "," |
25 | EXPR_STMT@[16; 17) | 25 | WHITESPACE@[15; 16) " " |
26 | ERROR@[16; 17) | 26 | EXPR_STMT@[16; 17) |
27 | AT@[16; 17) "@" | 27 | ERROR@[16; 17) |
28 | EXPR_STMT@[17; 18) | 28 | AT@[16; 17) "@" |
29 | ERROR@[17; 18) | 29 | EXPR_STMT@[17; 18) |
30 | COMMA@[17; 18) "," | 30 | ERROR@[17; 18) |
31 | WHITESPACE@[18; 19) " " | 31 | COMMA@[17; 18) "," |
32 | STRUCT_DEF@[19; 26) | 32 | WHITESPACE@[18; 19) " " |
33 | STRUCT_KW@[19; 25) "struct" | 33 | STRUCT_DEF@[19; 26) |
34 | ERROR@[25; 26) | 34 | STRUCT_KW@[19; 25) "struct" |
35 | COMMA@[25; 26) "," | 35 | ERROR@[25; 26) |
36 | WHITESPACE@[26; 27) " " | 36 | COMMA@[25; 26) "," |
37 | LET_STMT@[27; 31) | 37 | WHITESPACE@[26; 27) " " |
38 | LET_KW@[27; 30) "let" | 38 | LET_STMT@[27; 31) |
39 | ERROR@[30; 31) | 39 | LET_KW@[27; 30) "let" |
40 | R_BRACK@[30; 31) "]" | 40 | ERROR@[30; 31) |
41 | WHITESPACE@[31; 32) " " | 41 | R_BRACK@[30; 31) "]" |
42 | R_CURLY@[32; 33) "}" | 42 | WHITESPACE@[31; 32) " " |
43 | R_CURLY@[32; 33) "}" | ||
43 | WHITESPACE@[33; 34) "\n" | 44 | WHITESPACE@[33; 34) "\n" |
44 | FN_DEF@[34; 68) | 45 | FN_DEF@[34; 68) |
45 | FN_KW@[34; 36) "fn" | 46 | FN_KW@[34; 36) "fn" |
@@ -50,45 +51,46 @@ SOURCE_FILE@[0; 112) | |||
50 | L_PAREN@[38; 39) "(" | 51 | L_PAREN@[38; 39) "(" |
51 | R_PAREN@[39; 40) ")" | 52 | R_PAREN@[39; 40) ")" |
52 | WHITESPACE@[40; 41) " " | 53 | WHITESPACE@[40; 41) " " |
53 | BLOCK@[41; 68) | 54 | BLOCK_EXPR@[41; 68) |
54 | L_CURLY@[41; 42) "{" | 55 | BLOCK@[41; 68) |
55 | WHITESPACE@[42; 43) " " | 56 | L_CURLY@[41; 42) "{" |
56 | EXPR_STMT@[43; 52) | 57 | WHITESPACE@[42; 43) " " |
57 | CALL_EXPR@[43; 52) | 58 | EXPR_STMT@[43; 52) |
58 | PATH_EXPR@[43; 46) | 59 | CALL_EXPR@[43; 52) |
59 | PATH@[43; 46) | 60 | PATH_EXPR@[43; 46) |
60 | PATH_SEGMENT@[43; 46) | 61 | PATH@[43; 46) |
61 | NAME_REF@[43; 46) | 62 | PATH_SEGMENT@[43; 46) |
62 | IDENT@[43; 46) "foo" | 63 | NAME_REF@[43; 46) |
63 | ARG_LIST@[46; 52) | 64 | IDENT@[43; 46) "foo" |
64 | L_PAREN@[46; 47) "(" | 65 | ARG_LIST@[46; 52) |
65 | LITERAL@[47; 48) | 66 | L_PAREN@[46; 47) "(" |
66 | INT_NUMBER@[47; 48) "1" | 67 | LITERAL@[47; 48) |
67 | COMMA@[48; 49) "," | 68 | INT_NUMBER@[47; 48) "1" |
68 | WHITESPACE@[49; 50) " " | 69 | COMMA@[48; 49) "," |
69 | LITERAL@[50; 51) | 70 | WHITESPACE@[49; 50) " " |
70 | INT_NUMBER@[50; 51) "2" | 71 | LITERAL@[50; 51) |
71 | COMMA@[51; 52) "," | 72 | INT_NUMBER@[50; 51) "2" |
72 | WHITESPACE@[52; 53) " " | 73 | COMMA@[51; 52) "," |
73 | EXPR_STMT@[53; 54) | 74 | WHITESPACE@[52; 53) " " |
74 | ERROR@[53; 54) | 75 | EXPR_STMT@[53; 54) |
75 | AT@[53; 54) "@" | 76 | ERROR@[53; 54) |
76 | EXPR_STMT@[54; 55) | 77 | AT@[53; 54) "@" |
77 | ERROR@[54; 55) | 78 | EXPR_STMT@[54; 55) |
78 | COMMA@[54; 55) "," | 79 | ERROR@[54; 55) |
79 | WHITESPACE@[55; 56) " " | 80 | COMMA@[54; 55) "," |
80 | IMPL_BLOCK@[56; 60) | 81 | WHITESPACE@[55; 56) " " |
81 | IMPL_KW@[56; 60) "impl" | 82 | IMPL_BLOCK@[56; 60) |
82 | EXPR_STMT@[60; 61) | 83 | IMPL_KW@[56; 60) "impl" |
83 | ERROR@[60; 61) | 84 | EXPR_STMT@[60; 61) |
84 | COMMA@[60; 61) "," | 85 | ERROR@[60; 61) |
85 | WHITESPACE@[61; 62) " " | 86 | COMMA@[60; 61) "," |
86 | LET_STMT@[62; 65) | 87 | WHITESPACE@[61; 62) " " |
87 | LET_KW@[62; 65) "let" | 88 | LET_STMT@[62; 65) |
88 | ERROR@[65; 66) | 89 | LET_KW@[62; 65) "let" |
89 | R_PAREN@[65; 66) ")" | 90 | ERROR@[65; 66) |
90 | WHITESPACE@[66; 67) " " | 91 | R_PAREN@[65; 66) ")" |
91 | R_CURLY@[67; 68) "}" | 92 | WHITESPACE@[66; 67) " " |
93 | R_CURLY@[67; 68) "}" | ||
92 | WHITESPACE@[68; 69) "\n" | 94 | WHITESPACE@[68; 69) "\n" |
93 | FN_DEF@[69; 111) | 95 | FN_DEF@[69; 111) |
94 | FN_KW@[69; 71) "fn" | 96 | FN_KW@[69; 71) "fn" |
@@ -99,54 +101,55 @@ SOURCE_FILE@[0; 112) | |||
99 | L_PAREN@[73; 74) "(" | 101 | L_PAREN@[73; 74) "(" |
100 | R_PAREN@[74; 75) ")" | 102 | R_PAREN@[74; 75) ")" |
101 | WHITESPACE@[75; 76) " " | 103 | WHITESPACE@[75; 76) " " |
102 | BLOCK@[76; 111) | 104 | BLOCK_EXPR@[76; 111) |
103 | L_CURLY@[76; 77) "{" | 105 | BLOCK@[76; 111) |
104 | WHITESPACE@[77; 78) " " | 106 | L_CURLY@[76; 77) "{" |
105 | EXPR_STMT@[78; 91) | 107 | WHITESPACE@[77; 78) " " |
106 | METHOD_CALL_EXPR@[78; 91) | 108 | EXPR_STMT@[78; 91) |
107 | PATH_EXPR@[78; 81) | 109 | METHOD_CALL_EXPR@[78; 91) |
108 | PATH@[78; 81) | 110 | PATH_EXPR@[78; 81) |
109 | PATH_SEGMENT@[78; 81) | 111 | PATH@[78; 81) |
110 | NAME_REF@[78; 81) | 112 | PATH_SEGMENT@[78; 81) |
111 | IDENT@[78; 81) "foo" | 113 | NAME_REF@[78; 81) |
112 | DOT@[81; 82) "." | 114 | IDENT@[78; 81) "foo" |
113 | NAME_REF@[82; 85) | 115 | DOT@[81; 82) "." |
114 | IDENT@[82; 85) "bar" | 116 | NAME_REF@[82; 85) |
115 | ARG_LIST@[85; 91) | 117 | IDENT@[82; 85) "bar" |
116 | L_PAREN@[85; 86) "(" | 118 | ARG_LIST@[85; 91) |
117 | LITERAL@[86; 87) | 119 | L_PAREN@[85; 86) "(" |
118 | INT_NUMBER@[86; 87) "1" | 120 | LITERAL@[86; 87) |
119 | COMMA@[87; 88) "," | 121 | INT_NUMBER@[86; 87) "1" |
120 | WHITESPACE@[88; 89) " " | 122 | COMMA@[87; 88) "," |
121 | LITERAL@[89; 90) | 123 | WHITESPACE@[88; 89) " " |
122 | INT_NUMBER@[89; 90) "2" | 124 | LITERAL@[89; 90) |
123 | COMMA@[90; 91) "," | 125 | INT_NUMBER@[89; 90) "2" |
124 | WHITESPACE@[91; 92) " " | 126 | COMMA@[90; 91) "," |
125 | EXPR_STMT@[92; 93) | 127 | WHITESPACE@[91; 92) " " |
126 | ERROR@[92; 93) | 128 | EXPR_STMT@[92; 93) |
127 | AT@[92; 93) "@" | 129 | ERROR@[92; 93) |
128 | EXPR_STMT@[93; 94) | 130 | AT@[92; 93) "@" |
129 | ERROR@[93; 94) | 131 | EXPR_STMT@[93; 94) |
130 | COMMA@[93; 94) "," | 132 | ERROR@[93; 94) |
131 | WHITESPACE@[94; 95) " " | 133 | COMMA@[93; 94) "," |
132 | EXPR_STMT@[95; 96) | 134 | WHITESPACE@[94; 95) " " |
133 | ERROR@[95; 96) | 135 | EXPR_STMT@[95; 96) |
134 | R_BRACK@[95; 96) "]" | 136 | ERROR@[95; 96) |
135 | EXPR_STMT@[96; 97) | 137 | R_BRACK@[95; 96) "]" |
136 | ERROR@[96; 97) | 138 | EXPR_STMT@[96; 97) |
137 | COMMA@[96; 97) "," | 139 | ERROR@[96; 97) |
138 | WHITESPACE@[97; 98) " " | 140 | COMMA@[96; 97) "," |
139 | TRAIT_DEF@[98; 104) | 141 | WHITESPACE@[97; 98) " " |
140 | TRAIT_KW@[98; 103) "trait" | 142 | TRAIT_DEF@[98; 104) |
141 | ERROR@[103; 104) | 143 | TRAIT_KW@[98; 103) "trait" |
142 | COMMA@[103; 104) "," | 144 | ERROR@[103; 104) |
143 | WHITESPACE@[104; 105) " " | 145 | COMMA@[103; 104) "," |
144 | LET_STMT@[105; 108) | 146 | WHITESPACE@[104; 105) " " |
145 | LET_KW@[105; 108) "let" | 147 | LET_STMT@[105; 108) |
146 | ERROR@[108; 109) | 148 | LET_KW@[105; 108) "let" |
147 | R_PAREN@[108; 109) ")" | 149 | ERROR@[108; 109) |
148 | WHITESPACE@[109; 110) " " | 150 | R_PAREN@[108; 109) ")" |
149 | R_CURLY@[110; 111) "}" | 151 | WHITESPACE@[109; 110) " " |
152 | R_CURLY@[110; 111) "}" | ||
150 | WHITESPACE@[111; 112) "\n" | 153 | WHITESPACE@[111; 112) "\n" |
151 | error 15: expected expression | 154 | error 15: expected expression |
152 | error 15: expected R_BRACK | 155 | error 15: expected R_BRACK |
diff --git a/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.txt b/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.txt index f2515faa7..6dd04f80e 100644 --- a/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.txt +++ b/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.txt | |||
@@ -8,31 +8,32 @@ SOURCE_FILE@[0; 94) | |||
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_EXPR@[10; 55) |
12 | L_CURLY@[10; 11) "{" | 12 | BLOCK@[10; 55) |
13 | WHITESPACE@[11; 16) "\n " | 13 | L_CURLY@[10; 11) "{" |
14 | MACRO_CALL@[16; 49) | 14 | WHITESPACE@[11; 16) "\n " |
15 | PATH@[16; 19) | 15 | MACRO_CALL@[16; 49) |
16 | PATH_SEGMENT@[16; 19) | 16 | PATH@[16; 19) |
17 | NAME_REF@[16; 19) | 17 | PATH_SEGMENT@[16; 19) |
18 | IDENT@[16; 19) "foo" | 18 | NAME_REF@[16; 19) |
19 | EXCL@[19; 20) "!" | 19 | IDENT@[16; 19) "foo" |
20 | WHITESPACE@[20; 21) " " | 20 | EXCL@[19; 20) "!" |
21 | TOKEN_TREE@[21; 49) | 21 | WHITESPACE@[20; 21) " " |
22 | L_PAREN@[21; 22) "(" | 22 | TOKEN_TREE@[21; 49) |
23 | WHITESPACE@[22; 31) "\n " | 23 | L_PAREN@[21; 22) "(" |
24 | IDENT@[31; 34) "bar" | 24 | WHITESPACE@[22; 31) "\n " |
25 | COMMA@[34; 35) "," | 25 | IDENT@[31; 34) "bar" |
26 | WHITESPACE@[35; 36) " " | 26 | COMMA@[34; 35) "," |
27 | STRING@[36; 41) "\"baz\"" | 27 | WHITESPACE@[35; 36) " " |
28 | COMMA@[41; 42) "," | 28 | STRING@[36; 41) "\"baz\"" |
29 | WHITESPACE@[42; 43) " " | 29 | COMMA@[41; 42) "," |
30 | INT_NUMBER@[43; 44) "1" | 30 | WHITESPACE@[42; 43) " " |
31 | COMMA@[44; 45) "," | 31 | INT_NUMBER@[43; 44) "1" |
32 | WHITESPACE@[45; 46) " " | 32 | COMMA@[44; 45) "," |
33 | FLOAT_NUMBER@[46; 49) "2.0" | 33 | WHITESPACE@[45; 46) " " |
34 | WHITESPACE@[49; 54) "\n " | 34 | FLOAT_NUMBER@[46; 49) "2.0" |
35 | R_CURLY@[54; 55) "}" | 35 | WHITESPACE@[49; 54) "\n " |
36 | R_CURLY@[54; 55) "}" | ||
36 | WHITESPACE@[55; 56) " " | 37 | WHITESPACE@[55; 56) " " |
37 | COMMENT@[56; 91) "//~ ERROR incorrect c ..." | 38 | COMMENT@[56; 91) "//~ ERROR incorrect c ..." |
38 | WHITESPACE@[91; 92) "\n" | 39 | WHITESPACE@[91; 92) "\n" |
diff --git a/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.txt b/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.txt index faf0fe462..198daf7b4 100644 --- a/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.txt +++ b/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.txt | |||
@@ -61,9 +61,10 @@ SOURCE_FILE@[0; 240) | |||
61 | L_PAREN@[48; 49) "(" | 61 | L_PAREN@[48; 49) "(" |
62 | R_PAREN@[49; 50) ")" | 62 | R_PAREN@[49; 50) ")" |
63 | WHITESPACE@[50; 51) " " | 63 | WHITESPACE@[50; 51) " " |
64 | BLOCK@[51; 53) | 64 | BLOCK_EXPR@[51; 53) |
65 | L_CURLY@[51; 52) "{" | 65 | BLOCK@[51; 53) |
66 | R_CURLY@[52; 53) "}" | 66 | L_CURLY@[51; 52) "{" |
67 | R_CURLY@[52; 53) "}" | ||
67 | WHITESPACE@[53; 55) "\n\n" | 68 | WHITESPACE@[53; 55) "\n\n" |
68 | FN_DEF@[55; 239) | 69 | FN_DEF@[55; 239) |
69 | FN_KW@[55; 57) "fn" | 70 | FN_KW@[55; 57) "fn" |
@@ -74,222 +75,223 @@ SOURCE_FILE@[0; 240) | |||
74 | L_PAREN@[62; 63) "(" | 75 | L_PAREN@[62; 63) "(" |
75 | R_PAREN@[63; 64) ")" | 76 | R_PAREN@[63; 64) ")" |
76 | WHITESPACE@[64; 65) " " | 77 | WHITESPACE@[64; 65) " " |
77 | BLOCK@[65; 239) | 78 | BLOCK_EXPR@[65; 239) |
78 | L_CURLY@[65; 66) "{" | 79 | BLOCK@[65; 239) |
79 | WHITESPACE@[66; 71) "\n " | 80 | L_CURLY@[65; 66) "{" |
80 | LET_STMT@[71; 121) | 81 | WHITESPACE@[66; 71) "\n " |
81 | LET_KW@[71; 74) "let" | 82 | LET_STMT@[71; 121) |
82 | WHITESPACE@[74; 75) " " | 83 | LET_KW@[71; 74) "let" |
83 | PLACEHOLDER_PAT@[75; 76) | 84 | WHITESPACE@[74; 75) " " |
84 | UNDERSCORE@[75; 76) "_" | 85 | PLACEHOLDER_PAT@[75; 76) |
85 | COLON@[76; 77) ":" | 86 | UNDERSCORE@[75; 76) "_" |
86 | WHITESPACE@[77; 78) " " | 87 | COLON@[76; 77) ":" |
87 | DYN_TRAIT_TYPE@[78; 121) | 88 | WHITESPACE@[77; 78) " " |
88 | TYPE_BOUND_LIST@[78; 121) | 89 | DYN_TRAIT_TYPE@[78; 121) |
89 | TYPE_BOUND@[78; 88) | 90 | TYPE_BOUND_LIST@[78; 121) |
90 | PATH_TYPE@[78; 88) | 91 | TYPE_BOUND@[78; 88) |
91 | PATH@[78; 88) | 92 | PATH_TYPE@[78; 88) |
92 | PATH_SEGMENT@[78; 88) | 93 | PATH@[78; 88) |
93 | NAME_REF@[78; 81) | 94 | PATH_SEGMENT@[78; 88) |
94 | IDENT@[78; 81) "Box" | 95 | NAME_REF@[78; 81) |
95 | TYPE_ARG_LIST@[81; 88) | 96 | IDENT@[78; 81) "Box" |
96 | L_ANGLE@[81; 82) "<" | 97 | TYPE_ARG_LIST@[81; 88) |
97 | TYPE_ARG@[82; 88) | 98 | L_ANGLE@[81; 82) "<" |
98 | PAREN_TYPE@[82; 88) | 99 | TYPE_ARG@[82; 88) |
99 | L_PAREN@[82; 83) "(" | 100 | PAREN_TYPE@[82; 88) |
100 | PATH_TYPE@[83; 87) | 101 | L_PAREN@[82; 83) "(" |
101 | PATH@[83; 87) | 102 | PATH_TYPE@[83; 87) |
102 | PATH_SEGMENT@[83; 87) | 103 | PATH@[83; 87) |
103 | NAME_REF@[83; 87) | 104 | PATH_SEGMENT@[83; 87) |
104 | IDENT@[83; 87) "Copy" | 105 | NAME_REF@[83; 87) |
105 | R_PAREN@[87; 88) ")" | 106 | IDENT@[83; 87) "Copy" |
106 | WHITESPACE@[88; 89) " " | 107 | R_PAREN@[87; 88) ")" |
107 | PLUS@[89; 90) "+" | 108 | WHITESPACE@[88; 89) " " |
108 | WHITESPACE@[90; 91) " " | 109 | PLUS@[89; 90) "+" |
109 | TYPE_BOUND@[91; 99) | 110 | WHITESPACE@[90; 91) " " |
110 | L_PAREN@[91; 92) "(" | 111 | TYPE_BOUND@[91; 99) |
111 | QUESTION@[92; 93) "?" | 112 | L_PAREN@[91; 92) "(" |
112 | PATH_TYPE@[93; 98) | 113 | QUESTION@[92; 93) "?" |
113 | PATH@[93; 98) | 114 | PATH_TYPE@[93; 98) |
114 | PATH_SEGMENT@[93; 98) | 115 | PATH@[93; 98) |
115 | NAME_REF@[93; 98) | 116 | PATH_SEGMENT@[93; 98) |
116 | IDENT@[93; 98) "Sized" | 117 | NAME_REF@[93; 98) |
117 | R_PAREN@[98; 99) ")" | 118 | IDENT@[93; 98) "Sized" |
118 | WHITESPACE@[99; 100) " " | 119 | R_PAREN@[98; 99) ")" |
119 | PLUS@[100; 101) "+" | 120 | WHITESPACE@[99; 100) " " |
120 | WHITESPACE@[101; 102) " " | 121 | PLUS@[100; 101) "+" |
121 | TYPE_BOUND@[102; 121) | 122 | WHITESPACE@[101; 102) " " |
122 | L_PAREN@[102; 103) "(" | 123 | TYPE_BOUND@[102; 121) |
123 | FOR_TYPE@[103; 120) | 124 | L_PAREN@[102; 103) "(" |
124 | FOR_KW@[103; 106) "for" | 125 | FOR_TYPE@[103; 120) |
125 | TYPE_PARAM_LIST@[106; 110) | 126 | FOR_KW@[103; 106) "for" |
126 | L_ANGLE@[106; 107) "<" | 127 | TYPE_PARAM_LIST@[106; 110) |
127 | LIFETIME_PARAM@[107; 109) | 128 | L_ANGLE@[106; 107) "<" |
128 | LIFETIME@[107; 109) "\'a" | 129 | LIFETIME_PARAM@[107; 109) |
129 | R_ANGLE@[109; 110) ">" | 130 | LIFETIME@[107; 109) "\'a" |
130 | WHITESPACE@[110; 111) " " | 131 | R_ANGLE@[109; 110) ">" |
131 | PATH_TYPE@[111; 120) | 132 | WHITESPACE@[110; 111) " " |
132 | PATH@[111; 120) | 133 | PATH_TYPE@[111; 120) |
133 | PATH_SEGMENT@[111; 120) | 134 | PATH@[111; 120) |
134 | NAME_REF@[111; 116) | 135 | PATH_SEGMENT@[111; 120) |
135 | IDENT@[111; 116) "Trait" | 136 | NAME_REF@[111; 116) |
136 | TYPE_ARG_LIST@[116; 120) | 137 | IDENT@[111; 116) "Trait" |
137 | L_ANGLE@[116; 117) "<" | 138 | TYPE_ARG_LIST@[116; 120) |
138 | LIFETIME_ARG@[117; 119) | 139 | L_ANGLE@[116; 117) "<" |
139 | LIFETIME@[117; 119) "\'a" | 140 | LIFETIME_ARG@[117; 119) |
140 | R_ANGLE@[119; 120) ">" | 141 | LIFETIME@[117; 119) "\'a" |
141 | R_PAREN@[120; 121) ")" | 142 | R_ANGLE@[119; 120) ">" |
142 | EXPR_STMT@[121; 123) | 143 | R_PAREN@[120; 121) ")" |
143 | ERROR@[121; 122) | 144 | EXPR_STMT@[121; 123) |
144 | R_ANGLE@[121; 122) ">" | 145 | ERROR@[121; 122) |
145 | SEMI@[122; 123) ";" | 146 | R_ANGLE@[121; 122) ">" |
146 | WHITESPACE@[123; 128) "\n " | 147 | SEMI@[122; 123) ";" |
147 | LET_STMT@[128; 141) | 148 | WHITESPACE@[123; 128) "\n " |
148 | LET_KW@[128; 131) "let" | 149 | LET_STMT@[128; 141) |
149 | WHITESPACE@[131; 132) " " | 150 | LET_KW@[128; 131) "let" |
150 | PLACEHOLDER_PAT@[132; 133) | 151 | WHITESPACE@[131; 132) " " |
151 | UNDERSCORE@[132; 133) "_" | 152 | PLACEHOLDER_PAT@[132; 133) |
152 | COLON@[133; 134) ":" | 153 | UNDERSCORE@[132; 133) "_" |
153 | WHITESPACE@[134; 135) " " | 154 | COLON@[133; 134) ":" |
154 | PATH_TYPE@[135; 141) | 155 | WHITESPACE@[134; 135) " " |
155 | PATH@[135; 141) | 156 | PATH_TYPE@[135; 141) |
156 | PATH_SEGMENT@[135; 141) | 157 | PATH@[135; 141) |
157 | NAME_REF@[135; 138) | 158 | PATH_SEGMENT@[135; 141) |
158 | IDENT@[135; 138) "Box" | 159 | NAME_REF@[135; 138) |
159 | TYPE_ARG_LIST@[138; 141) | 160 | IDENT@[135; 138) "Box" |
160 | L_ANGLE@[138; 139) "<" | 161 | TYPE_ARG_LIST@[138; 141) |
161 | TYPE_ARG@[139; 141) | 162 | L_ANGLE@[138; 139) "<" |
162 | PAREN_TYPE@[139; 141) | 163 | TYPE_ARG@[139; 141) |
163 | L_PAREN@[139; 140) "(" | 164 | PAREN_TYPE@[139; 141) |
164 | ERROR@[140; 141) | 165 | L_PAREN@[139; 140) "(" |
165 | QUESTION@[140; 141) "?" | 166 | ERROR@[140; 141) |
166 | EXPR_STMT@[141; 146) | 167 | QUESTION@[140; 141) "?" |
167 | PATH_EXPR@[141; 146) | 168 | EXPR_STMT@[141; 146) |
168 | PATH@[141; 146) | 169 | PATH_EXPR@[141; 146) |
169 | PATH_SEGMENT@[141; 146) | 170 | PATH@[141; 146) |
170 | NAME_REF@[141; 146) | 171 | PATH_SEGMENT@[141; 146) |
171 | IDENT@[141; 146) "Sized" | 172 | NAME_REF@[141; 146) |
172 | EXPR_STMT@[146; 147) | 173 | IDENT@[141; 146) "Sized" |
173 | ERROR@[146; 147) | 174 | EXPR_STMT@[146; 147) |
174 | R_PAREN@[146; 147) ")" | 175 | ERROR@[146; 147) |
175 | WHITESPACE@[147; 148) " " | 176 | R_PAREN@[146; 147) ")" |
176 | EXPR_STMT@[148; 149) | 177 | WHITESPACE@[147; 148) " " |
177 | ERROR@[148; 149) | 178 | EXPR_STMT@[148; 149) |
178 | PLUS@[148; 149) "+" | 179 | ERROR@[148; 149) |
179 | WHITESPACE@[149; 150) " " | 180 | PLUS@[148; 149) "+" |
180 | EXPR_STMT@[150; 151) | 181 | WHITESPACE@[149; 150) " " |
181 | PAREN_EXPR@[150; 151) | 182 | EXPR_STMT@[150; 151) |
182 | L_PAREN@[150; 151) "(" | 183 | PAREN_EXPR@[150; 151) |
183 | EXPR_STMT@[151; 157) | 184 | L_PAREN@[150; 151) "(" |
184 | FOR_EXPR@[151; 157) | 185 | EXPR_STMT@[151; 157) |
185 | FOR_KW@[151; 154) "for" | 186 | FOR_EXPR@[151; 157) |
186 | ERROR@[154; 155) | 187 | FOR_KW@[151; 154) "for" |
187 | L_ANGLE@[154; 155) "<" | 188 | ERROR@[154; 155) |
188 | ERROR@[155; 157) | 189 | L_ANGLE@[154; 155) "<" |
189 | LIFETIME@[155; 157) "\'a" | 190 | ERROR@[155; 157) |
190 | EXPR_STMT@[157; 158) | 191 | LIFETIME@[155; 157) "\'a" |
191 | ERROR@[157; 158) | 192 | EXPR_STMT@[157; 158) |
192 | R_ANGLE@[157; 158) ">" | 193 | ERROR@[157; 158) |
193 | WHITESPACE@[158; 159) " " | 194 | R_ANGLE@[157; 158) ">" |
194 | EXPR_STMT@[159; 180) | 195 | WHITESPACE@[158; 159) " " |
195 | BIN_EXPR@[159; 180) | 196 | EXPR_STMT@[159; 180) |
196 | BIN_EXPR@[159; 178) | 197 | BIN_EXPR@[159; 180) |
197 | BIN_EXPR@[159; 169) | 198 | BIN_EXPR@[159; 178) |
198 | BIN_EXPR@[159; 167) | 199 | BIN_EXPR@[159; 169) |
199 | PATH_EXPR@[159; 164) | 200 | BIN_EXPR@[159; 167) |
200 | PATH@[159; 164) | 201 | PATH_EXPR@[159; 164) |
201 | PATH_SEGMENT@[159; 164) | 202 | PATH@[159; 164) |
202 | NAME_REF@[159; 164) | 203 | PATH_SEGMENT@[159; 164) |
203 | IDENT@[159; 164) "Trait" | 204 | NAME_REF@[159; 164) |
204 | L_ANGLE@[164; 165) "<" | 205 | IDENT@[159; 164) "Trait" |
205 | ERROR@[165; 167) | 206 | L_ANGLE@[164; 165) "<" |
206 | LIFETIME@[165; 167) "\'a" | 207 | ERROR@[165; 167) |
207 | R_ANGLE@[167; 168) ">" | 208 | LIFETIME@[165; 167) "\'a" |
208 | ERROR@[168; 169) | 209 | R_ANGLE@[167; 168) ">" |
209 | R_PAREN@[168; 169) ")" | 210 | ERROR@[168; 169) |
210 | WHITESPACE@[169; 170) " " | 211 | R_PAREN@[168; 169) ")" |
211 | PLUS@[170; 171) "+" | 212 | WHITESPACE@[169; 170) " " |
212 | WHITESPACE@[171; 172) " " | 213 | PLUS@[170; 171) "+" |
213 | PAREN_EXPR@[172; 178) | 214 | WHITESPACE@[171; 172) " " |
214 | L_PAREN@[172; 173) "(" | 215 | PAREN_EXPR@[172; 178) |
215 | PATH_EXPR@[173; 177) | 216 | L_PAREN@[172; 173) "(" |
216 | PATH@[173; 177) | 217 | PATH_EXPR@[173; 177) |
217 | PATH_SEGMENT@[173; 177) | 218 | PATH@[173; 177) |
218 | NAME_REF@[173; 177) | 219 | PATH_SEGMENT@[173; 177) |
219 | IDENT@[173; 177) "Copy" | 220 | NAME_REF@[173; 177) |
220 | R_PAREN@[177; 178) ")" | 221 | IDENT@[173; 177) "Copy" |
221 | R_ANGLE@[178; 179) ">" | 222 | R_PAREN@[177; 178) ")" |
222 | ERROR@[179; 180) | 223 | R_ANGLE@[178; 179) ">" |
223 | SEMI@[179; 180) ";" | 224 | ERROR@[179; 180) |
224 | WHITESPACE@[180; 185) "\n " | 225 | SEMI@[179; 180) ";" |
225 | LET_STMT@[185; 235) | 226 | WHITESPACE@[180; 185) "\n " |
226 | LET_KW@[185; 188) "let" | 227 | LET_STMT@[185; 235) |
227 | WHITESPACE@[188; 189) " " | 228 | LET_KW@[185; 188) "let" |
228 | PLACEHOLDER_PAT@[189; 190) | 229 | WHITESPACE@[188; 189) " " |
229 | UNDERSCORE@[189; 190) "_" | 230 | PLACEHOLDER_PAT@[189; 190) |
230 | COLON@[190; 191) ":" | 231 | UNDERSCORE@[189; 190) "_" |
231 | WHITESPACE@[191; 192) " " | 232 | COLON@[190; 191) ":" |
232 | DYN_TRAIT_TYPE@[192; 235) | 233 | WHITESPACE@[191; 192) " " |
233 | TYPE_BOUND_LIST@[192; 235) | 234 | DYN_TRAIT_TYPE@[192; 235) |
234 | TYPE_BOUND@[192; 215) | 235 | TYPE_BOUND_LIST@[192; 235) |
235 | PATH_TYPE@[192; 215) | 236 | TYPE_BOUND@[192; 215) |
236 | PATH@[192; 215) | 237 | PATH_TYPE@[192; 215) |
237 | PATH_SEGMENT@[192; 215) | 238 | PATH@[192; 215) |
238 | NAME_REF@[192; 195) | 239 | PATH_SEGMENT@[192; 215) |
239 | IDENT@[192; 195) "Box" | 240 | NAME_REF@[192; 195) |
240 | TYPE_ARG_LIST@[195; 215) | 241 | IDENT@[192; 195) "Box" |
241 | L_ANGLE@[195; 196) "<" | 242 | TYPE_ARG_LIST@[195; 215) |
242 | TYPE_ARG@[196; 215) | 243 | L_ANGLE@[195; 196) "<" |
243 | PAREN_TYPE@[196; 215) | 244 | TYPE_ARG@[196; 215) |
244 | L_PAREN@[196; 197) "(" | 245 | PAREN_TYPE@[196; 215) |
245 | FOR_TYPE@[197; 214) | 246 | L_PAREN@[196; 197) "(" |
246 | FOR_KW@[197; 200) "for" | 247 | FOR_TYPE@[197; 214) |
247 | TYPE_PARAM_LIST@[200; 204) | 248 | FOR_KW@[197; 200) "for" |
248 | L_ANGLE@[200; 201) "<" | 249 | TYPE_PARAM_LIST@[200; 204) |
249 | LIFETIME_PARAM@[201; 203) | 250 | L_ANGLE@[200; 201) "<" |
250 | LIFETIME@[201; 203) "\'a" | 251 | LIFETIME_PARAM@[201; 203) |
251 | R_ANGLE@[203; 204) ">" | 252 | LIFETIME@[201; 203) "\'a" |
252 | WHITESPACE@[204; 205) " " | 253 | R_ANGLE@[203; 204) ">" |
253 | PATH_TYPE@[205; 214) | 254 | WHITESPACE@[204; 205) " " |
254 | PATH@[205; 214) | 255 | PATH_TYPE@[205; 214) |
255 | PATH_SEGMENT@[205; 214) | 256 | PATH@[205; 214) |
256 | NAME_REF@[205; 210) | 257 | PATH_SEGMENT@[205; 214) |
257 | IDENT@[205; 210) "Trait" | 258 | NAME_REF@[205; 210) |
258 | TYPE_ARG_LIST@[210; 214) | 259 | IDENT@[205; 210) "Trait" |
259 | L_ANGLE@[210; 211) "<" | 260 | TYPE_ARG_LIST@[210; 214) |
260 | LIFETIME_ARG@[211; 213) | 261 | L_ANGLE@[210; 211) "<" |
261 | LIFETIME@[211; 213) "\'a" | 262 | LIFETIME_ARG@[211; 213) |
262 | R_ANGLE@[213; 214) ">" | 263 | LIFETIME@[211; 213) "\'a" |
263 | R_PAREN@[214; 215) ")" | 264 | R_ANGLE@[213; 214) ">" |
264 | WHITESPACE@[215; 216) " " | 265 | R_PAREN@[214; 215) ")" |
265 | PLUS@[216; 217) "+" | 266 | WHITESPACE@[215; 216) " " |
266 | WHITESPACE@[217; 218) " " | 267 | PLUS@[216; 217) "+" |
267 | TYPE_BOUND@[218; 224) | 268 | WHITESPACE@[217; 218) " " |
268 | L_PAREN@[218; 219) "(" | 269 | TYPE_BOUND@[218; 224) |
269 | PATH_TYPE@[219; 223) | 270 | L_PAREN@[218; 219) "(" |
270 | PATH@[219; 223) | 271 | PATH_TYPE@[219; 223) |
271 | PATH_SEGMENT@[219; 223) | 272 | PATH@[219; 223) |
272 | NAME_REF@[219; 223) | 273 | PATH_SEGMENT@[219; 223) |
273 | IDENT@[219; 223) "Copy" | 274 | NAME_REF@[219; 223) |
274 | R_PAREN@[223; 224) ")" | 275 | IDENT@[219; 223) "Copy" |
275 | WHITESPACE@[224; 225) " " | 276 | R_PAREN@[223; 224) ")" |
276 | PLUS@[225; 226) "+" | 277 | WHITESPACE@[224; 225) " " |
277 | WHITESPACE@[226; 227) " " | 278 | PLUS@[225; 226) "+" |
278 | TYPE_BOUND@[227; 235) | 279 | WHITESPACE@[226; 227) " " |
279 | L_PAREN@[227; 228) "(" | 280 | TYPE_BOUND@[227; 235) |
280 | QUESTION@[228; 229) "?" | 281 | L_PAREN@[227; 228) "(" |
281 | PATH_TYPE@[229; 234) | 282 | QUESTION@[228; 229) "?" |
282 | PATH@[229; 234) | 283 | PATH_TYPE@[229; 234) |
283 | PATH_SEGMENT@[229; 234) | 284 | PATH@[229; 234) |
284 | NAME_REF@[229; 234) | 285 | PATH_SEGMENT@[229; 234) |
285 | IDENT@[229; 234) "Sized" | 286 | NAME_REF@[229; 234) |
286 | R_PAREN@[234; 235) ")" | 287 | IDENT@[229; 234) "Sized" |
287 | EXPR_STMT@[235; 237) | 288 | R_PAREN@[234; 235) ")" |
288 | ERROR@[235; 236) | 289 | EXPR_STMT@[235; 237) |
289 | R_ANGLE@[235; 236) ">" | 290 | ERROR@[235; 236) |
290 | SEMI@[236; 237) ";" | 291 | R_ANGLE@[235; 236) ">" |
291 | WHITESPACE@[237; 238) "\n" | 292 | SEMI@[236; 237) ";" |
292 | R_CURLY@[238; 239) "}" | 293 | WHITESPACE@[237; 238) "\n" |
294 | R_CURLY@[238; 239) "}" | ||
293 | WHITESPACE@[239; 240) "\n" | 295 | WHITESPACE@[239; 240) "\n" |
294 | error 88: expected COMMA | 296 | error 88: expected COMMA |
295 | error 88: expected R_ANGLE | 297 | error 88: expected R_ANGLE |
diff --git a/crates/ra_syntax/test_data/parser/err/0025_nope.txt b/crates/ra_syntax/test_data/parser/err/0025_nope.txt index 7b228a8ed..8369f4bda 100644 --- a/crates/ra_syntax/test_data/parser/err/0025_nope.txt +++ b/crates/ra_syntax/test_data/parser/err/0025_nope.txt | |||
@@ -8,187 +8,188 @@ SOURCE_FILE@[0; 575) | |||
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_EXPR@[10; 574) |
12 | L_CURLY@[10; 11) "{" | 12 | BLOCK@[10; 574) |
13 | WHITESPACE@[11; 16) "\n " | 13 | L_CURLY@[10; 11) "{" |
14 | ENUM_DEF@[16; 152) | 14 | WHITESPACE@[11; 16) "\n " |
15 | ENUM_KW@[16; 20) "enum" | 15 | ENUM_DEF@[16; 152) |
16 | WHITESPACE@[20; 21) " " | 16 | ENUM_KW@[16; 20) "enum" |
17 | NAME@[21; 25) | 17 | WHITESPACE@[20; 21) " " |
18 | IDENT@[21; 25) "Test" | 18 | NAME@[21; 25) |
19 | WHITESPACE@[25; 26) " " | 19 | IDENT@[21; 25) "Test" |
20 | ENUM_VARIANT_LIST@[26; 152) | 20 | WHITESPACE@[25; 26) " " |
21 | L_CURLY@[26; 27) "{" | 21 | ENUM_VARIANT_LIST@[26; 152) |
22 | WHITESPACE@[27; 36) "\n " | 22 | L_CURLY@[26; 27) "{" |
23 | ENUM_VARIANT@[36; 40) | 23 | WHITESPACE@[27; 36) "\n " |
24 | NAME@[36; 40) | 24 | ENUM_VARIANT@[36; 40) |
25 | IDENT@[36; 40) "Var1" | 25 | NAME@[36; 40) |
26 | COMMA@[40; 41) "," | 26 | IDENT@[36; 40) "Var1" |
27 | WHITESPACE@[41; 50) "\n " | 27 | COMMA@[40; 41) "," |
28 | ENUM_VARIANT@[50; 62) | 28 | WHITESPACE@[41; 50) "\n " |
29 | NAME@[50; 54) | 29 | ENUM_VARIANT@[50; 62) |
30 | IDENT@[50; 54) "Var2" | 30 | NAME@[50; 54) |
31 | TUPLE_FIELD_DEF_LIST@[54; 62) | 31 | IDENT@[50; 54) "Var2" |
32 | L_PAREN@[54; 55) "(" | 32 | TUPLE_FIELD_DEF_LIST@[54; 62) |
33 | TUPLE_FIELD_DEF@[55; 61) | 33 | L_PAREN@[54; 55) "(" |
34 | PATH_TYPE@[55; 61) | 34 | TUPLE_FIELD_DEF@[55; 61) |
35 | PATH@[55; 61) | 35 | PATH_TYPE@[55; 61) |
36 | PATH_SEGMENT@[55; 61) | 36 | PATH@[55; 61) |
37 | NAME_REF@[55; 61) | 37 | PATH_SEGMENT@[55; 61) |
38 | IDENT@[55; 61) "String" | 38 | NAME_REF@[55; 61) |
39 | R_PAREN@[61; 62) ")" | 39 | IDENT@[55; 61) "String" |
40 | COMMA@[62; 63) "," | 40 | R_PAREN@[61; 62) ")" |
41 | WHITESPACE@[63; 72) "\n " | 41 | COMMA@[62; 63) "," |
42 | ENUM_VARIANT@[72; 145) | 42 | WHITESPACE@[63; 72) "\n " |
43 | NAME@[72; 76) | 43 | ENUM_VARIANT@[72; 145) |
44 | IDENT@[72; 76) "Var3" | 44 | NAME@[72; 76) |
45 | WHITESPACE@[76; 77) " " | 45 | IDENT@[72; 76) "Var3" |
46 | RECORD_FIELD_DEF_LIST@[77; 145) | 46 | WHITESPACE@[76; 77) " " |
47 | L_CURLY@[77; 78) "{" | 47 | RECORD_FIELD_DEF_LIST@[77; 145) |
48 | WHITESPACE@[78; 91) "\n " | 48 | L_CURLY@[77; 78) "{" |
49 | RECORD_FIELD_DEF@[91; 95) | 49 | WHITESPACE@[78; 91) "\n " |
50 | NAME@[91; 94) | 50 | RECORD_FIELD_DEF@[91; 95) |
51 | IDENT@[91; 94) "abc" | 51 | NAME@[91; 94) |
52 | COLON@[94; 95) ":" | 52 | IDENT@[91; 94) "abc" |
53 | WHITESPACE@[95; 96) " " | 53 | COLON@[94; 95) ":" |
54 | ERROR@[96; 98) | 54 | WHITESPACE@[95; 96) " " |
55 | L_CURLY@[96; 97) "{" | 55 | ERROR@[96; 98) |
56 | R_CURLY@[97; 98) "}" | 56 | L_CURLY@[96; 97) "{" |
57 | ERROR@[98; 99) | 57 | R_CURLY@[97; 98) "}" |
58 | COMMA@[98; 99) "," | 58 | ERROR@[98; 99) |
59 | WHITESPACE@[99; 100) " " | 59 | COMMA@[98; 99) "," |
60 | COMMENT@[100; 135) "//~ ERROR: expected t ..." | 60 | WHITESPACE@[99; 100) " " |
61 | WHITESPACE@[135; 144) "\n " | 61 | COMMENT@[100; 135) "//~ ERROR: expected t ..." |
62 | R_CURLY@[144; 145) "}" | 62 | WHITESPACE@[135; 144) "\n " |
63 | COMMA@[145; 146) "," | 63 | R_CURLY@[144; 145) "}" |
64 | WHITESPACE@[146; 151) "\n " | 64 | COMMA@[145; 146) "," |
65 | R_CURLY@[151; 152) "}" | 65 | WHITESPACE@[146; 151) "\n " |
66 | WHITESPACE@[152; 158) "\n\n " | 66 | R_CURLY@[151; 152) "}" |
67 | COMMENT@[158; 171) "// recover..." | 67 | WHITESPACE@[152; 158) "\n\n " |
68 | WHITESPACE@[171; 176) "\n " | 68 | COMMENT@[158; 171) "// recover..." |
69 | LET_STMT@[176; 186) | 69 | WHITESPACE@[171; 176) "\n " |
70 | LET_KW@[176; 179) "let" | 70 | LET_STMT@[176; 186) |
71 | WHITESPACE@[179; 180) " " | 71 | LET_KW@[176; 179) "let" |
72 | BIND_PAT@[180; 181) | 72 | WHITESPACE@[179; 180) " " |
73 | NAME@[180; 181) | 73 | BIND_PAT@[180; 181) |
74 | IDENT@[180; 181) "a" | 74 | NAME@[180; 181) |
75 | WHITESPACE@[181; 182) " " | 75 | IDENT@[180; 181) "a" |
76 | EQ@[182; 183) "=" | 76 | WHITESPACE@[181; 182) " " |
77 | WHITESPACE@[183; 184) " " | 77 | EQ@[182; 183) "=" |
78 | LITERAL@[184; 185) | 78 | WHITESPACE@[183; 184) " " |
79 | INT_NUMBER@[184; 185) "1" | 79 | LITERAL@[184; 185) |
80 | SEMI@[185; 186) ";" | 80 | INT_NUMBER@[184; 185) "1" |
81 | WHITESPACE@[186; 191) "\n " | 81 | SEMI@[185; 186) ";" |
82 | ENUM_DEF@[191; 223) | 82 | WHITESPACE@[186; 191) "\n " |
83 | ENUM_KW@[191; 195) "enum" | 83 | ENUM_DEF@[191; 223) |
84 | WHITESPACE@[195; 196) " " | 84 | ENUM_KW@[191; 195) "enum" |
85 | NAME@[196; 201) | 85 | WHITESPACE@[195; 196) " " |
86 | IDENT@[196; 201) "Test2" | 86 | NAME@[196; 201) |
87 | WHITESPACE@[201; 202) " " | 87 | IDENT@[196; 201) "Test2" |
88 | ENUM_VARIANT_LIST@[202; 223) | 88 | WHITESPACE@[201; 202) " " |
89 | L_CURLY@[202; 203) "{" | 89 | ENUM_VARIANT_LIST@[202; 223) |
90 | WHITESPACE@[203; 212) "\n " | 90 | L_CURLY@[202; 203) "{" |
91 | ENUM_VARIANT@[212; 216) | 91 | WHITESPACE@[203; 212) "\n " |
92 | NAME@[212; 216) | 92 | ENUM_VARIANT@[212; 216) |
93 | IDENT@[212; 216) "Fine" | 93 | NAME@[212; 216) |
94 | COMMA@[216; 217) "," | 94 | IDENT@[212; 216) "Fine" |
95 | WHITESPACE@[217; 222) "\n " | 95 | COMMA@[216; 217) "," |
96 | R_CURLY@[222; 223) "}" | 96 | WHITESPACE@[217; 222) "\n " |
97 | WHITESPACE@[223; 229) "\n\n " | 97 | R_CURLY@[222; 223) "}" |
98 | ENUM_DEF@[229; 300) | 98 | WHITESPACE@[223; 229) "\n\n " |
99 | ENUM_KW@[229; 233) "enum" | 99 | ENUM_DEF@[229; 300) |
100 | WHITESPACE@[233; 234) " " | 100 | ENUM_KW@[229; 233) "enum" |
101 | NAME@[234; 239) | 101 | WHITESPACE@[233; 234) " " |
102 | IDENT@[234; 239) "Test3" | 102 | NAME@[234; 239) |
103 | WHITESPACE@[239; 240) " " | 103 | IDENT@[234; 239) "Test3" |
104 | ENUM_VARIANT_LIST@[240; 300) | 104 | WHITESPACE@[239; 240) " " |
105 | L_CURLY@[240; 241) "{" | 105 | ENUM_VARIANT_LIST@[240; 300) |
106 | WHITESPACE@[241; 250) "\n " | 106 | L_CURLY@[240; 241) "{" |
107 | ENUM_VARIANT@[250; 293) | 107 | WHITESPACE@[241; 250) "\n " |
108 | NAME@[250; 259) | 108 | ENUM_VARIANT@[250; 293) |
109 | IDENT@[250; 259) "StillFine" | 109 | NAME@[250; 259) |
110 | WHITESPACE@[259; 260) " " | 110 | IDENT@[250; 259) "StillFine" |
111 | RECORD_FIELD_DEF_LIST@[260; 293) | 111 | WHITESPACE@[259; 260) " " |
112 | L_CURLY@[260; 261) "{" | 112 | RECORD_FIELD_DEF_LIST@[260; 293) |
113 | WHITESPACE@[261; 274) "\n " | 113 | L_CURLY@[260; 261) "{" |
114 | RECORD_FIELD_DEF@[274; 282) | 114 | WHITESPACE@[261; 274) "\n " |
115 | NAME@[274; 277) | 115 | RECORD_FIELD_DEF@[274; 282) |
116 | IDENT@[274; 277) "def" | 116 | NAME@[274; 277) |
117 | COLON@[277; 278) ":" | 117 | IDENT@[274; 277) "def" |
118 | WHITESPACE@[278; 279) " " | 118 | COLON@[277; 278) ":" |
119 | PATH_TYPE@[279; 282) | 119 | WHITESPACE@[278; 279) " " |
120 | PATH@[279; 282) | 120 | PATH_TYPE@[279; 282) |
121 | PATH_SEGMENT@[279; 282) | 121 | PATH@[279; 282) |
122 | NAME_REF@[279; 282) | 122 | PATH_SEGMENT@[279; 282) |
123 | IDENT@[279; 282) "i32" | 123 | NAME_REF@[279; 282) |
124 | COMMA@[282; 283) "," | 124 | IDENT@[279; 282) "i32" |
125 | WHITESPACE@[283; 292) "\n " | 125 | COMMA@[282; 283) "," |
126 | R_CURLY@[292; 293) "}" | 126 | WHITESPACE@[283; 292) "\n " |
127 | COMMA@[293; 294) "," | 127 | R_CURLY@[292; 293) "}" |
128 | WHITESPACE@[294; 299) "\n " | 128 | COMMA@[293; 294) "," |
129 | R_CURLY@[299; 300) "}" | 129 | WHITESPACE@[294; 299) "\n " |
130 | WHITESPACE@[300; 306) "\n\n " | 130 | R_CURLY@[299; 300) "}" |
131 | EXPR_STMT@[306; 459) | 131 | WHITESPACE@[300; 306) "\n\n " |
132 | BLOCK_EXPR@[306; 459) | 132 | EXPR_STMT@[306; 459) |
133 | BLOCK@[306; 459) | 133 | BLOCK_EXPR@[306; 459) |
134 | L_CURLY@[306; 307) "{" | 134 | BLOCK@[306; 459) |
135 | WHITESPACE@[307; 316) "\n " | 135 | L_CURLY@[306; 307) "{" |
136 | ENUM_DEF@[316; 453) | 136 | WHITESPACE@[307; 316) "\n " |
137 | COMMENT@[316; 329) "// fail again" | 137 | ENUM_DEF@[316; 453) |
138 | WHITESPACE@[329; 338) "\n " | 138 | COMMENT@[316; 329) "// fail again" |
139 | ENUM_KW@[338; 342) "enum" | 139 | WHITESPACE@[329; 338) "\n " |
140 | WHITESPACE@[342; 343) " " | 140 | ENUM_KW@[338; 342) "enum" |
141 | NAME@[343; 348) | 141 | WHITESPACE@[342; 343) " " |
142 | IDENT@[343; 348) "Test4" | 142 | NAME@[343; 348) |
143 | WHITESPACE@[348; 349) " " | 143 | IDENT@[343; 348) "Test4" |
144 | ENUM_VARIANT_LIST@[349; 453) | 144 | WHITESPACE@[348; 349) " " |
145 | L_CURLY@[349; 350) "{" | 145 | ENUM_VARIANT_LIST@[349; 453) |
146 | WHITESPACE@[350; 363) "\n " | 146 | L_CURLY@[349; 350) "{" |
147 | ENUM_VARIANT@[363; 372) | 147 | WHITESPACE@[350; 363) "\n " |
148 | NAME@[363; 367) | 148 | ENUM_VARIANT@[363; 372) |
149 | IDENT@[363; 367) "Nope" | 149 | NAME@[363; 367) |
150 | TUPLE_FIELD_DEF_LIST@[367; 372) | 150 | IDENT@[363; 367) "Nope" |
151 | L_PAREN@[367; 368) "(" | 151 | TUPLE_FIELD_DEF_LIST@[367; 372) |
152 | TUPLE_FIELD_DEF@[368; 371) | 152 | L_PAREN@[367; 368) "(" |
153 | PATH_TYPE@[368; 371) | 153 | TUPLE_FIELD_DEF@[368; 371) |
154 | PATH@[368; 371) | 154 | PATH_TYPE@[368; 371) |
155 | PATH_SEGMENT@[368; 371) | 155 | PATH@[368; 371) |
156 | NAME_REF@[368; 371) | 156 | PATH_SEGMENT@[368; 371) |
157 | IDENT@[368; 371) "i32" | 157 | NAME_REF@[368; 371) |
158 | WHITESPACE@[371; 372) " " | 158 | IDENT@[368; 371) "i32" |
159 | ERROR@[372; 372) | 159 | WHITESPACE@[371; 372) " " |
160 | ERROR@[372; 374) | 160 | ERROR@[372; 372) |
161 | L_CURLY@[372; 373) "{" | 161 | ERROR@[372; 374) |
162 | R_CURLY@[373; 374) "}" | 162 | L_CURLY@[372; 373) "{" |
163 | ERROR@[374; 375) | 163 | R_CURLY@[373; 374) "}" |
164 | R_PAREN@[374; 375) ")" | 164 | ERROR@[374; 375) |
165 | WHITESPACE@[375; 376) " " | 165 | R_PAREN@[374; 375) ")" |
166 | COMMENT@[376; 396) "//~ ERROR: found `{`" | 166 | WHITESPACE@[375; 376) " " |
167 | WHITESPACE@[396; 422) "\n ..." | 167 | COMMENT@[376; 396) "//~ ERROR: found `{`" |
168 | COMMENT@[422; 443) "//~^ ERROR: found `{`" | 168 | WHITESPACE@[396; 422) "\n ..." |
169 | WHITESPACE@[443; 452) "\n " | 169 | COMMENT@[422; 443) "//~^ ERROR: found `{`" |
170 | R_CURLY@[452; 453) "}" | 170 | WHITESPACE@[443; 452) "\n " |
171 | WHITESPACE@[453; 458) "\n " | 171 | R_CURLY@[452; 453) "}" |
172 | R_CURLY@[458; 459) "}" | 172 | WHITESPACE@[453; 458) "\n " |
173 | WHITESPACE@[459; 464) "\n " | 173 | R_CURLY@[458; 459) "}" |
174 | COMMENT@[464; 486) "// still recover later" | 174 | WHITESPACE@[459; 464) "\n " |
175 | WHITESPACE@[486; 491) "\n " | 175 | COMMENT@[464; 486) "// still recover later" |
176 | LET_STMT@[491; 510) | 176 | WHITESPACE@[486; 491) "\n " |
177 | LET_KW@[491; 494) "let" | 177 | LET_STMT@[491; 510) |
178 | WHITESPACE@[494; 495) " " | 178 | LET_KW@[491; 494) "let" |
179 | BIND_PAT@[495; 505) | 179 | WHITESPACE@[494; 495) " " |
180 | NAME@[495; 505) | 180 | BIND_PAT@[495; 505) |
181 | IDENT@[495; 505) "bad_syntax" | 181 | NAME@[495; 505) |
182 | WHITESPACE@[505; 506) " " | 182 | IDENT@[495; 505) "bad_syntax" |
183 | EQ@[506; 507) "=" | 183 | WHITESPACE@[505; 506) " " |
184 | WHITESPACE@[507; 508) " " | 184 | EQ@[506; 507) "=" |
185 | ERROR@[508; 509) | 185 | WHITESPACE@[507; 508) " " |
186 | UNDERSCORE@[508; 509) "_" | 186 | ERROR@[508; 509) |
187 | SEMI@[509; 510) ";" | 187 | UNDERSCORE@[508; 509) "_" |
188 | WHITESPACE@[510; 511) " " | 188 | SEMI@[509; 510) ";" |
189 | COMMENT@[511; 572) "//~ ERROR: expected e ..." | 189 | WHITESPACE@[510; 511) " " |
190 | WHITESPACE@[572; 573) "\n" | 190 | COMMENT@[511; 572) "//~ ERROR: expected e ..." |
191 | R_CURLY@[573; 574) "}" | 191 | WHITESPACE@[572; 573) "\n" |
192 | R_CURLY@[573; 574) "}" | ||
192 | WHITESPACE@[574; 575) "\n" | 193 | WHITESPACE@[574; 575) "\n" |
193 | error 95: expected type | 194 | error 95: expected type |
194 | error 95: expected COMMA | 195 | error 95: expected COMMA |
diff --git a/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.txt b/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.txt index 061e6fb31..9298b45a4 100644 --- a/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.txt +++ b/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.txt | |||
@@ -20,9 +20,10 @@ SOURCE_FILE@[0; 30) | |||
20 | LIFETIME@[23; 25) "\'a" | 20 | LIFETIME@[23; 25) "\'a" |
21 | R_ANGLE@[25; 26) ">" | 21 | R_ANGLE@[25; 26) ">" |
22 | WHITESPACE@[26; 27) "\n" | 22 | WHITESPACE@[26; 27) "\n" |
23 | BLOCK@[27; 29) | 23 | BLOCK_EXPR@[27; 29) |
24 | L_CURLY@[27; 28) "{" | 24 | BLOCK@[27; 29) |
25 | R_CURLY@[28; 29) "}" | 25 | L_CURLY@[27; 28) "{" |
26 | R_CURLY@[28; 29) "}" | ||
26 | WHITESPACE@[29; 30) "\n" | 27 | WHITESPACE@[29; 30) "\n" |
27 | error 26: expected a path | 28 | error 26: expected a path |
28 | error 26: expected colon | 29 | error 26: expected colon |
diff --git a/crates/ra_syntax/test_data/parser/err/0028_macro_2.0.txt b/crates/ra_syntax/test_data/parser/err/0028_macro_2.0.txt index 98bc562a3..73d322c48 100644 --- a/crates/ra_syntax/test_data/parser/err/0028_macro_2.0.txt +++ b/crates/ra_syntax/test_data/parser/err/0028_macro_2.0.txt | |||
@@ -73,188 +73,189 @@ SOURCE_FILE@[0; 349) | |||
73 | L_PAREN@[125; 126) "(" | 73 | L_PAREN@[125; 126) "(" |
74 | R_PAREN@[126; 127) ")" | 74 | R_PAREN@[126; 127) ")" |
75 | WHITESPACE@[127; 128) " " | 75 | WHITESPACE@[127; 128) " " |
76 | BLOCK@[128; 348) | 76 | BLOCK_EXPR@[128; 348) |
77 | L_CURLY@[128; 129) "{" | 77 | BLOCK@[128; 348) |
78 | WHITESPACE@[129; 134) "\n " | 78 | L_CURLY@[128; 129) "{" |
79 | EXPR_STMT@[134; 139) | 79 | WHITESPACE@[129; 134) "\n " |
80 | PATH_EXPR@[134; 139) | 80 | EXPR_STMT@[134; 139) |
81 | PATH@[134; 139) | 81 | PATH_EXPR@[134; 139) |
82 | PATH_SEGMENT@[134; 139) | 82 | PATH@[134; 139) |
83 | NAME_REF@[134; 139) | 83 | PATH_SEGMENT@[134; 139) |
84 | IDENT@[134; 139) "macro" | 84 | NAME_REF@[134; 139) |
85 | WHITESPACE@[139; 140) " " | 85 | IDENT@[134; 139) "macro" |
86 | EXPR_STMT@[140; 154) | 86 | WHITESPACE@[139; 140) " " |
87 | CALL_EXPR@[140; 154) | 87 | EXPR_STMT@[140; 154) |
88 | PATH_EXPR@[140; 150) | 88 | CALL_EXPR@[140; 154) |
89 | PATH@[140; 150) | 89 | PATH_EXPR@[140; 150) |
90 | PATH_SEGMENT@[140; 150) | 90 | PATH@[140; 150) |
91 | NAME_REF@[140; 150) | 91 | PATH_SEGMENT@[140; 150) |
92 | IDENT@[140; 150) "test_merge" | 92 | NAME_REF@[140; 150) |
93 | ARG_LIST@[150; 154) | 93 | IDENT@[140; 150) "test_merge" |
94 | L_PAREN@[150; 151) "(" | 94 | ARG_LIST@[150; 154) |
95 | ARRAY_EXPR@[151; 154) | 95 | L_PAREN@[150; 151) "(" |
96 | L_BRACK@[151; 152) "[" | 96 | ARRAY_EXPR@[151; 154) |
97 | ERROR@[152; 153) | 97 | L_BRACK@[151; 152) "[" |
98 | DOLLAR@[152; 153) "$" | 98 | ERROR@[152; 153) |
99 | PAREN_EXPR@[153; 154) | 99 | DOLLAR@[152; 153) "$" |
100 | L_PAREN@[153; 154) "(" | 100 | PAREN_EXPR@[153; 154) |
101 | EXPR_STMT@[154; 155) | 101 | L_PAREN@[153; 154) "(" |
102 | ERROR@[154; 155) | 102 | EXPR_STMT@[154; 155) |
103 | DOLLAR@[154; 155) "$" | 103 | ERROR@[154; 155) |
104 | EXPR_STMT@[155; 160) | 104 | DOLLAR@[154; 155) "$" |
105 | PATH_EXPR@[155; 160) | 105 | EXPR_STMT@[155; 160) |
106 | PATH@[155; 160) | 106 | PATH_EXPR@[155; 160) |
107 | PATH_SEGMENT@[155; 160) | 107 | PATH@[155; 160) |
108 | NAME_REF@[155; 160) | 108 | PATH_SEGMENT@[155; 160) |
109 | IDENT@[155; 160) "input" | 109 | NAME_REF@[155; 160) |
110 | EXPR_STMT@[160; 161) | 110 | IDENT@[155; 160) "input" |
111 | ERROR@[160; 161) | 111 | EXPR_STMT@[160; 161) |
112 | COLON@[160; 161) ":" | 112 | ERROR@[160; 161) |
113 | EXPR_STMT@[161; 165) | 113 | COLON@[160; 161) ":" |
114 | PATH_EXPR@[161; 165) | 114 | EXPR_STMT@[161; 165) |
115 | PATH@[161; 165) | 115 | PATH_EXPR@[161; 165) |
116 | PATH_SEGMENT@[161; 165) | 116 | PATH@[161; 165) |
117 | NAME_REF@[161; 165) | 117 | PATH_SEGMENT@[161; 165) |
118 | IDENT@[161; 165) "expr" | 118 | NAME_REF@[161; 165) |
119 | EXPR_STMT@[165; 166) | 119 | IDENT@[161; 165) "expr" |
120 | ERROR@[165; 166) | 120 | EXPR_STMT@[165; 166) |
121 | R_PAREN@[165; 166) ")" | 121 | ERROR@[165; 166) |
122 | EXPR_STMT@[166; 167) | 122 | R_PAREN@[165; 166) ")" |
123 | ERROR@[166; 167) | 123 | EXPR_STMT@[166; 167) |
124 | COMMA@[166; 167) "," | 124 | ERROR@[166; 167) |
125 | EXPR_STMT@[167; 170) | 125 | COMMA@[166; 167) "," |
126 | PREFIX_EXPR@[167; 170) | 126 | EXPR_STMT@[167; 170) |
127 | STAR@[167; 168) "*" | 127 | PREFIX_EXPR@[167; 170) |
128 | WHITESPACE@[168; 169) " " | 128 | STAR@[167; 168) "*" |
129 | ERROR@[169; 170) | 129 | WHITESPACE@[168; 169) " " |
130 | DOLLAR@[169; 170) "$" | 130 | ERROR@[169; 170) |
131 | EXPR_STMT@[170; 171) | 131 | DOLLAR@[169; 170) "$" |
132 | PAREN_EXPR@[170; 171) | 132 | EXPR_STMT@[170; 171) |
133 | L_PAREN@[170; 171) "(" | 133 | PAREN_EXPR@[170; 171) |
134 | EXPR_STMT@[171; 172) | 134 | L_PAREN@[170; 171) "(" |
135 | ERROR@[171; 172) | 135 | EXPR_STMT@[171; 172) |
136 | COMMA@[171; 172) "," | 136 | ERROR@[171; 172) |
137 | EXPR_STMT@[172; 173) | 137 | COMMA@[171; 172) "," |
138 | ERROR@[172; 173) | 138 | EXPR_STMT@[172; 173) |
139 | R_PAREN@[172; 173) ")" | 139 | ERROR@[172; 173) |
140 | EXPR_STMT@[173; 175) | 140 | R_PAREN@[172; 173) ")" |
141 | PREFIX_EXPR@[173; 175) | 141 | EXPR_STMT@[173; 175) |
142 | STAR@[173; 174) "*" | 142 | PREFIX_EXPR@[173; 175) |
143 | ERROR@[174; 175) | 143 | STAR@[173; 174) "*" |
144 | R_BRACK@[174; 175) "]" | 144 | ERROR@[174; 175) |
145 | EXPR_STMT@[175; 176) | 145 | R_BRACK@[174; 175) "]" |
146 | ERROR@[175; 176) | 146 | EXPR_STMT@[175; 176) |
147 | COMMA@[175; 176) "," | 147 | ERROR@[175; 176) |
148 | WHITESPACE@[176; 177) " " | 148 | COMMA@[175; 176) "," |
149 | EXPR_STMT@[177; 180) | 149 | WHITESPACE@[176; 177) " " |
150 | ARRAY_EXPR@[177; 180) | 150 | EXPR_STMT@[177; 180) |
151 | L_BRACK@[177; 178) "[" | 151 | ARRAY_EXPR@[177; 180) |
152 | ERROR@[178; 179) | 152 | L_BRACK@[177; 178) "[" |
153 | DOLLAR@[178; 179) "$" | 153 | ERROR@[178; 179) |
154 | PAREN_EXPR@[179; 180) | 154 | DOLLAR@[178; 179) "$" |
155 | L_PAREN@[179; 180) "(" | 155 | PAREN_EXPR@[179; 180) |
156 | EXPR_STMT@[180; 181) | 156 | L_PAREN@[179; 180) "(" |
157 | ERROR@[180; 181) | 157 | EXPR_STMT@[180; 181) |
158 | DOLLAR@[180; 181) "$" | 158 | ERROR@[180; 181) |
159 | EXPR_STMT@[181; 187) | 159 | DOLLAR@[180; 181) "$" |
160 | PATH_EXPR@[181; 187) | 160 | EXPR_STMT@[181; 187) |
161 | PATH@[181; 187) | 161 | PATH_EXPR@[181; 187) |
162 | PATH_SEGMENT@[181; 187) | 162 | PATH@[181; 187) |
163 | NAME_REF@[181; 187) | 163 | PATH_SEGMENT@[181; 187) |
164 | IDENT@[181; 187) "output" | 164 | NAME_REF@[181; 187) |
165 | EXPR_STMT@[187; 188) | 165 | IDENT@[181; 187) "output" |
166 | ERROR@[187; 188) | 166 | EXPR_STMT@[187; 188) |
167 | COLON@[187; 188) ":" | 167 | ERROR@[187; 188) |
168 | EXPR_STMT@[188; 192) | 168 | COLON@[187; 188) ":" |
169 | PATH_EXPR@[188; 192) | 169 | EXPR_STMT@[188; 192) |
170 | PATH@[188; 192) | 170 | PATH_EXPR@[188; 192) |
171 | PATH_SEGMENT@[188; 192) | 171 | PATH@[188; 192) |
172 | NAME_REF@[188; 192) | 172 | PATH_SEGMENT@[188; 192) |
173 | IDENT@[188; 192) "expr" | 173 | NAME_REF@[188; 192) |
174 | EXPR_STMT@[192; 193) | 174 | IDENT@[188; 192) "expr" |
175 | ERROR@[192; 193) | 175 | EXPR_STMT@[192; 193) |
176 | R_PAREN@[192; 193) ")" | 176 | ERROR@[192; 193) |
177 | EXPR_STMT@[193; 194) | 177 | R_PAREN@[192; 193) ")" |
178 | ERROR@[193; 194) | 178 | EXPR_STMT@[193; 194) |
179 | COMMA@[193; 194) "," | 179 | ERROR@[193; 194) |
180 | EXPR_STMT@[194; 197) | 180 | COMMA@[193; 194) "," |
181 | PREFIX_EXPR@[194; 197) | 181 | EXPR_STMT@[194; 197) |
182 | STAR@[194; 195) "*" | 182 | PREFIX_EXPR@[194; 197) |
183 | WHITESPACE@[195; 196) " " | 183 | STAR@[194; 195) "*" |
184 | ERROR@[196; 197) | 184 | WHITESPACE@[195; 196) " " |
185 | DOLLAR@[196; 197) "$" | 185 | ERROR@[196; 197) |
186 | EXPR_STMT@[197; 198) | 186 | DOLLAR@[196; 197) "$" |
187 | PAREN_EXPR@[197; 198) | 187 | EXPR_STMT@[197; 198) |
188 | L_PAREN@[197; 198) "(" | 188 | PAREN_EXPR@[197; 198) |
189 | EXPR_STMT@[198; 199) | 189 | L_PAREN@[197; 198) "(" |
190 | ERROR@[198; 199) | 190 | EXPR_STMT@[198; 199) |
191 | COMMA@[198; 199) "," | 191 | ERROR@[198; 199) |
192 | EXPR_STMT@[199; 200) | 192 | COMMA@[198; 199) "," |
193 | ERROR@[199; 200) | 193 | EXPR_STMT@[199; 200) |
194 | R_PAREN@[199; 200) ")" | 194 | ERROR@[199; 200) |
195 | EXPR_STMT@[200; 202) | 195 | R_PAREN@[199; 200) ")" |
196 | PREFIX_EXPR@[200; 202) | 196 | EXPR_STMT@[200; 202) |
197 | STAR@[200; 201) "*" | 197 | PREFIX_EXPR@[200; 202) |
198 | ERROR@[201; 202) | 198 | STAR@[200; 201) "*" |
199 | R_BRACK@[201; 202) "]" | 199 | ERROR@[201; 202) |
200 | EXPR_STMT@[202; 203) | 200 | R_BRACK@[201; 202) "]" |
201 | ERROR@[202; 203) | 201 | EXPR_STMT@[202; 203) |
202 | R_PAREN@[202; 203) ")" | 202 | ERROR@[202; 203) |
203 | WHITESPACE@[203; 204) " " | 203 | R_PAREN@[202; 203) ")" |
204 | BLOCK_EXPR@[204; 346) | 204 | WHITESPACE@[203; 204) " " |
205 | BLOCK@[204; 346) | 205 | BLOCK_EXPR@[204; 346) |
206 | L_CURLY@[204; 205) "{" | 206 | BLOCK@[204; 346) |
207 | WHITESPACE@[205; 214) "\n " | 207 | L_CURLY@[204; 205) "{" |
208 | EXPR_STMT@[214; 340) | 208 | WHITESPACE@[205; 214) "\n " |
209 | MACRO_CALL@[214; 339) | 209 | EXPR_STMT@[214; 340) |
210 | PATH@[214; 223) | 210 | MACRO_CALL@[214; 339) |
211 | PATH_SEGMENT@[214; 223) | 211 | PATH@[214; 223) |
212 | NAME_REF@[214; 223) | 212 | PATH_SEGMENT@[214; 223) |
213 | IDENT@[214; 223) "assert_eq" | 213 | NAME_REF@[214; 223) |
214 | EXCL@[223; 224) "!" | 214 | IDENT@[214; 223) "assert_eq" |
215 | TOKEN_TREE@[224; 339) | 215 | EXCL@[223; 224) "!" |
216 | L_PAREN@[224; 225) "(" | 216 | TOKEN_TREE@[224; 339) |
217 | WHITESPACE@[225; 238) "\n " | 217 | L_PAREN@[224; 225) "(" |
218 | IDENT@[238; 253) "merge_use_trees" | 218 | WHITESPACE@[225; 238) "\n " |
219 | TOKEN_TREE@[253; 284) | 219 | IDENT@[238; 253) "merge_use_trees" |
220 | L_PAREN@[253; 254) "(" | 220 | TOKEN_TREE@[253; 284) |
221 | IDENT@[254; 269) "parse_use_trees" | 221 | L_PAREN@[253; 254) "(" |
222 | EXCL@[269; 270) "!" | 222 | IDENT@[254; 269) "parse_use_trees" |
223 | TOKEN_TREE@[270; 283) | 223 | EXCL@[269; 270) "!" |
224 | L_PAREN@[270; 271) "(" | 224 | TOKEN_TREE@[270; 283) |
225 | DOLLAR@[271; 272) "$" | 225 | L_PAREN@[270; 271) "(" |
226 | TOKEN_TREE@[272; 281) | 226 | DOLLAR@[271; 272) "$" |
227 | L_PAREN@[272; 273) "(" | 227 | TOKEN_TREE@[272; 281) |
228 | DOLLAR@[273; 274) "$" | 228 | L_PAREN@[272; 273) "(" |
229 | IDENT@[274; 279) "input" | 229 | DOLLAR@[273; 274) "$" |
230 | COMMA@[279; 280) "," | 230 | IDENT@[274; 279) "input" |
231 | R_PAREN@[280; 281) ")" | 231 | COMMA@[279; 280) "," |
232 | STAR@[281; 282) "*" | 232 | R_PAREN@[280; 281) ")" |
233 | R_PAREN@[282; 283) ")" | 233 | STAR@[281; 282) "*" |
234 | R_PAREN@[283; 284) ")" | 234 | R_PAREN@[282; 283) ")" |
235 | COMMA@[284; 285) "," | 235 | R_PAREN@[283; 284) ")" |
236 | WHITESPACE@[285; 298) "\n " | 236 | COMMA@[284; 285) "," |
237 | IDENT@[298; 313) "parse_use_trees" | 237 | WHITESPACE@[285; 298) "\n " |
238 | EXCL@[313; 314) "!" | 238 | IDENT@[298; 313) "parse_use_trees" |
239 | TOKEN_TREE@[314; 328) | 239 | EXCL@[313; 314) "!" |
240 | L_PAREN@[314; 315) "(" | 240 | TOKEN_TREE@[314; 328) |
241 | DOLLAR@[315; 316) "$" | 241 | L_PAREN@[314; 315) "(" |
242 | TOKEN_TREE@[316; 326) | 242 | DOLLAR@[315; 316) "$" |
243 | L_PAREN@[316; 317) "(" | 243 | TOKEN_TREE@[316; 326) |
244 | DOLLAR@[317; 318) "$" | 244 | L_PAREN@[316; 317) "(" |
245 | IDENT@[318; 324) "output" | 245 | DOLLAR@[317; 318) "$" |
246 | COMMA@[324; 325) "," | 246 | IDENT@[318; 324) "output" |
247 | R_PAREN@[325; 326) ")" | 247 | COMMA@[324; 325) "," |
248 | STAR@[326; 327) "*" | 248 | R_PAREN@[325; 326) ")" |
249 | R_PAREN@[327; 328) ")" | 249 | STAR@[326; 327) "*" |
250 | COMMA@[328; 329) "," | 250 | R_PAREN@[327; 328) ")" |
251 | WHITESPACE@[329; 338) "\n " | 251 | COMMA@[328; 329) "," |
252 | R_PAREN@[338; 339) ")" | 252 | WHITESPACE@[329; 338) "\n " |
253 | SEMI@[339; 340) ";" | 253 | R_PAREN@[338; 339) ")" |
254 | WHITESPACE@[340; 345) "\n " | 254 | SEMI@[339; 340) ";" |
255 | R_CURLY@[345; 346) "}" | 255 | WHITESPACE@[340; 345) "\n " |
256 | WHITESPACE@[346; 347) "\n" | 256 | R_CURLY@[345; 346) "}" |
257 | R_CURLY@[347; 348) "}" | 257 | WHITESPACE@[346; 347) "\n" |
258 | R_CURLY@[347; 348) "}" | ||
258 | WHITESPACE@[348; 349) "\n" | 259 | WHITESPACE@[348; 349) "\n" |
259 | error 5: expected EXCL | 260 | error 5: expected EXCL |
260 | error 41: expected SEMI | 261 | error 41: expected SEMI |
diff --git a/crates/ra_syntax/test_data/parser/err/0029_field_completion.txt b/crates/ra_syntax/test_data/parser/err/0029_field_completion.txt index fb50a12fc..e3e1282ec 100644 --- a/crates/ra_syntax/test_data/parser/err/0029_field_completion.txt +++ b/crates/ra_syntax/test_data/parser/err/0029_field_completion.txt | |||
@@ -19,17 +19,18 @@ SOURCE_FILE@[0; 24) | |||
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_EXPR@[13; 23) |
23 | L_CURLY@[13; 14) "{" | 23 | BLOCK@[13; 23) |
24 | WHITESPACE@[14; 19) "\n " | 24 | L_CURLY@[13; 14) "{" |
25 | FIELD_EXPR@[19; 21) | 25 | WHITESPACE@[14; 19) "\n " |
26 | PATH_EXPR@[19; 20) | 26 | FIELD_EXPR@[19; 21) |
27 | PATH@[19; 20) | 27 | PATH_EXPR@[19; 20) |
28 | PATH_SEGMENT@[19; 20) | 28 | PATH@[19; 20) |
29 | NAME_REF@[19; 20) | 29 | PATH_SEGMENT@[19; 20) |
30 | IDENT@[19; 20) "a" | 30 | NAME_REF@[19; 20) |
31 | DOT@[20; 21) "." | 31 | IDENT@[19; 20) "a" |
32 | WHITESPACE@[21; 22) "\n" | 32 | DOT@[20; 21) "." |
33 | R_CURLY@[22; 23) "}" | 33 | WHITESPACE@[21; 22) "\n" |
34 | R_CURLY@[22; 23) "}" | ||
34 | WHITESPACE@[23; 24) "\n" | 35 | WHITESPACE@[23; 24) "\n" |
35 | error 21: expected field name or number | 36 | error 21: expected field name or number |
diff --git a/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.txt b/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.txt index c205cf147..f67325b76 100644 --- a/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.txt +++ b/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.txt | |||
@@ -8,105 +8,108 @@ SOURCE_FILE@[0; 350) | |||
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_EXPR@[11; 349) |
12 | L_CURLY@[11; 12) "{" | 12 | BLOCK@[11; 349) |
13 | WHITESPACE@[12; 17) "\n " | 13 | L_CURLY@[11; 12) "{" |
14 | LET_STMT@[17; 129) | 14 | WHITESPACE@[12; 17) "\n " |
15 | LET_KW@[17; 20) "let" | 15 | LET_STMT@[17; 129) |
16 | WHITESPACE@[20; 21) " " | 16 | LET_KW@[17; 20) "let" |
17 | BIND_PAT@[21; 26) | 17 | WHITESPACE@[20; 21) " " |
18 | NAME@[21; 26) | 18 | BIND_PAT@[21; 26) |
19 | IDENT@[21; 26) "inner" | 19 | NAME@[21; 26) |
20 | WHITESPACE@[26; 27) " " | 20 | IDENT@[21; 26) "inner" |
21 | EQ@[27; 28) "=" | 21 | WHITESPACE@[26; 27) " " |
22 | WHITESPACE@[28; 29) " " | 22 | EQ@[27; 28) "=" |
23 | BLOCK_EXPR@[29; 128) | 23 | WHITESPACE@[28; 29) " " |
24 | BLOCK@[29; 128) | 24 | BLOCK_EXPR@[29; 128) |
25 | L_CURLY@[29; 30) "{" | 25 | BLOCK@[29; 128) |
26 | WHITESPACE@[30; 39) "\n " | 26 | L_CURLY@[29; 30) "{" |
27 | ATTR@[39; 83) | 27 | WHITESPACE@[30; 39) "\n " |
28 | POUND@[39; 40) "#" | 28 | ATTR@[39; 83) |
29 | EXCL@[40; 41) "!" | 29 | POUND@[39; 40) "#" |
30 | TOKEN_TREE@[41; 83) | 30 | EXCL@[40; 41) "!" |
31 | L_BRACK@[41; 42) "[" | 31 | TOKEN_TREE@[41; 83) |
32 | IDENT@[42; 45) "doc" | 32 | L_BRACK@[41; 42) "[" |
33 | TOKEN_TREE@[45; 82) | 33 | IDENT@[42; 45) "doc" |
34 | L_PAREN@[45; 46) "(" | 34 | TOKEN_TREE@[45; 82) |
35 | STRING@[46; 81) "\"Inner attributes not ..." | 35 | L_PAREN@[45; 46) "(" |
36 | R_PAREN@[81; 82) ")" | 36 | STRING@[46; 81) "\"Inner attributes not ..." |
37 | R_BRACK@[82; 83) "]" | 37 | R_PAREN@[81; 82) ")" |
38 | WHITESPACE@[83; 92) "\n " | 38 | R_BRACK@[82; 83) "]" |
39 | COMMENT@[92; 122) "//! Nor are ModuleDoc ..." | 39 | WHITESPACE@[83; 92) "\n " |
40 | WHITESPACE@[122; 127) "\n " | 40 | COMMENT@[92; 122) "//! Nor are ModuleDoc ..." |
41 | R_CURLY@[127; 128) "}" | 41 | WHITESPACE@[122; 127) "\n " |
42 | SEMI@[128; 129) ";" | 42 | R_CURLY@[127; 128) "}" |
43 | WHITESPACE@[129; 134) "\n " | 43 | SEMI@[128; 129) ";" |
44 | EXPR_STMT@[134; 257) | 44 | WHITESPACE@[129; 134) "\n " |
45 | IF_EXPR@[134; 257) | 45 | EXPR_STMT@[134; 257) |
46 | IF_KW@[134; 136) "if" | 46 | IF_EXPR@[134; 257) |
47 | WHITESPACE@[136; 137) " " | 47 | IF_KW@[134; 136) "if" |
48 | CONDITION@[137; 141) | 48 | WHITESPACE@[136; 137) " " |
49 | LITERAL@[137; 141) | 49 | CONDITION@[137; 141) |
50 | TRUE_KW@[137; 141) "true" | 50 | LITERAL@[137; 141) |
51 | WHITESPACE@[141; 142) " " | 51 | TRUE_KW@[137; 141) "true" |
52 | BLOCK@[142; 257) | 52 | WHITESPACE@[141; 142) " " |
53 | L_CURLY@[142; 143) "{" | 53 | BLOCK_EXPR@[142; 257) |
54 | WHITESPACE@[143; 152) "\n " | 54 | BLOCK@[142; 257) |
55 | ATTR@[152; 171) | 55 | L_CURLY@[142; 143) "{" |
56 | POUND@[152; 153) "#" | 56 | WHITESPACE@[143; 152) "\n " |
57 | EXCL@[153; 154) "!" | 57 | ATTR@[152; 171) |
58 | TOKEN_TREE@[154; 171) | 58 | POUND@[152; 153) "#" |
59 | L_BRACK@[154; 155) "[" | 59 | EXCL@[153; 154) "!" |
60 | IDENT@[155; 158) "doc" | 60 | TOKEN_TREE@[154; 171) |
61 | TOKEN_TREE@[158; 170) | 61 | L_BRACK@[154; 155) "[" |
62 | L_PAREN@[158; 159) "(" | 62 | IDENT@[155; 158) "doc" |
63 | STRING@[159; 169) "\"Nor here\"" | 63 | TOKEN_TREE@[158; 170) |
64 | R_PAREN@[169; 170) ")" | 64 | L_PAREN@[158; 159) "(" |
65 | R_BRACK@[170; 171) "]" | 65 | STRING@[159; 169) "\"Nor here\"" |
66 | WHITESPACE@[171; 180) "\n " | 66 | R_PAREN@[169; 170) ")" |
67 | ATTR@[180; 212) | 67 | R_BRACK@[170; 171) "]" |
68 | POUND@[180; 181) "#" | 68 | WHITESPACE@[171; 180) "\n " |
69 | EXCL@[181; 182) "!" | 69 | ATTR@[180; 212) |
70 | TOKEN_TREE@[182; 212) | 70 | POUND@[180; 181) "#" |
71 | L_BRACK@[182; 183) "[" | 71 | EXCL@[181; 182) "!" |
72 | IDENT@[183; 186) "doc" | 72 | TOKEN_TREE@[182; 212) |
73 | TOKEN_TREE@[186; 211) | 73 | L_BRACK@[182; 183) "[" |
74 | L_PAREN@[186; 187) "(" | 74 | IDENT@[183; 186) "doc" |
75 | STRING@[187; 210) "\"We error on each attr\"" | 75 | TOKEN_TREE@[186; 211) |
76 | R_PAREN@[210; 211) ")" | 76 | L_PAREN@[186; 187) "(" |
77 | R_BRACK@[211; 212) "]" | 77 | STRING@[187; 210) "\"We error on each attr\"" |
78 | WHITESPACE@[212; 221) "\n " | 78 | R_PAREN@[210; 211) ")" |
79 | COMMENT@[221; 251) "//! Nor are ModuleDoc ..." | 79 | R_BRACK@[211; 212) "]" |
80 | WHITESPACE@[251; 256) "\n " | 80 | WHITESPACE@[212; 221) "\n " |
81 | R_CURLY@[256; 257) "}" | 81 | COMMENT@[221; 251) "//! Nor are ModuleDoc ..." |
82 | WHITESPACE@[257; 262) "\n " | 82 | WHITESPACE@[251; 256) "\n " |
83 | WHILE_EXPR@[262; 347) | 83 | R_CURLY@[256; 257) "}" |
84 | WHILE_KW@[262; 267) "while" | 84 | WHITESPACE@[257; 262) "\n " |
85 | WHITESPACE@[267; 268) " " | 85 | WHILE_EXPR@[262; 347) |
86 | CONDITION@[268; 272) | 86 | WHILE_KW@[262; 267) "while" |
87 | LITERAL@[268; 272) | 87 | WHITESPACE@[267; 268) " " |
88 | TRUE_KW@[268; 272) "true" | 88 | CONDITION@[268; 272) |
89 | WHITESPACE@[272; 273) " " | 89 | LITERAL@[268; 272) |
90 | BLOCK@[273; 347) | 90 | TRUE_KW@[268; 272) "true" |
91 | L_CURLY@[273; 274) "{" | 91 | WHITESPACE@[272; 273) " " |
92 | WHITESPACE@[274; 283) "\n " | 92 | BLOCK_EXPR@[273; 347) |
93 | ATTR@[283; 302) | 93 | BLOCK@[273; 347) |
94 | POUND@[283; 284) "#" | 94 | L_CURLY@[273; 274) "{" |
95 | EXCL@[284; 285) "!" | 95 | WHITESPACE@[274; 283) "\n " |
96 | TOKEN_TREE@[285; 302) | 96 | ATTR@[283; 302) |
97 | L_BRACK@[285; 286) "[" | 97 | POUND@[283; 284) "#" |
98 | IDENT@[286; 289) "doc" | 98 | EXCL@[284; 285) "!" |
99 | TOKEN_TREE@[289; 301) | 99 | TOKEN_TREE@[285; 302) |
100 | L_PAREN@[289; 290) "(" | 100 | L_BRACK@[285; 286) "[" |
101 | STRING@[290; 300) "\"Nor here\"" | 101 | IDENT@[286; 289) "doc" |
102 | R_PAREN@[300; 301) ")" | 102 | TOKEN_TREE@[289; 301) |
103 | R_BRACK@[301; 302) "]" | 103 | L_PAREN@[289; 290) "(" |
104 | WHITESPACE@[302; 311) "\n " | 104 | STRING@[290; 300) "\"Nor here\"" |
105 | COMMENT@[311; 341) "//! Nor are ModuleDoc ..." | 105 | R_PAREN@[300; 301) ")" |
106 | WHITESPACE@[341; 346) "\n " | 106 | R_BRACK@[301; 302) "]" |
107 | R_CURLY@[346; 347) "}" | 107 | WHITESPACE@[302; 311) "\n " |
108 | WHITESPACE@[347; 348) "\n" | 108 | COMMENT@[311; 341) "//! Nor are ModuleDoc ..." |
109 | R_CURLY@[348; 349) "}" | 109 | WHITESPACE@[341; 346) "\n " |
110 | R_CURLY@[346; 347) "}" | ||
111 | WHITESPACE@[347; 348) "\n" | ||
112 | R_CURLY@[348; 349) "}" | ||
110 | WHITESPACE@[349; 350) "\n" | 113 | WHITESPACE@[349; 350) "\n" |
111 | error [39; 83): A block in this position cannot accept inner attributes | 114 | error [39; 83): A block in this position cannot accept inner attributes |
112 | error [152; 171): A block in this position cannot accept inner attributes | 115 | error [152; 171): A block in this position cannot accept inner attributes |
diff --git a/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.txt b/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.txt index 4e8c4143b..1344fcbc2 100644 --- a/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.txt +++ b/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.txt | |||
@@ -8,185 +8,186 @@ SOURCE_FILE@[0; 293) | |||
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_EXPR@[9; 292) |
12 | L_CURLY@[9; 10) "{" | 12 | BLOCK@[9; 292) |
13 | WHITESPACE@[10; 15) "\n " | 13 | L_CURLY@[9; 10) "{" |
14 | EXPR_STMT@[15; 101) | 14 | WHITESPACE@[10; 15) "\n " |
15 | MATCH_EXPR@[15; 101) | 15 | EXPR_STMT@[15; 101) |
16 | MATCH_KW@[15; 20) "match" | 16 | MATCH_EXPR@[15; 101) |
17 | WHITESPACE@[20; 21) " " | 17 | MATCH_KW@[15; 20) "match" |
18 | TUPLE_EXPR@[21; 23) | 18 | WHITESPACE@[20; 21) " " |
19 | L_PAREN@[21; 22) "(" | 19 | TUPLE_EXPR@[21; 23) |
20 | R_PAREN@[22; 23) ")" | 20 | L_PAREN@[21; 22) "(" |
21 | WHITESPACE@[23; 24) " " | 21 | R_PAREN@[22; 23) ")" |
22 | MATCH_ARM_LIST@[24; 101) | 22 | WHITESPACE@[23; 24) " " |
23 | L_CURLY@[24; 25) "{" | 23 | MATCH_ARM_LIST@[24; 101) |
24 | WHITESPACE@[25; 34) "\n " | 24 | L_CURLY@[24; 25) "{" |
25 | MATCH_ARM@[34; 41) | 25 | WHITESPACE@[25; 34) "\n " |
26 | PLACEHOLDER_PAT@[34; 35) | 26 | MATCH_ARM@[34; 41) |
27 | UNDERSCORE@[34; 35) "_" | 27 | PLACEHOLDER_PAT@[34; 35) |
28 | WHITESPACE@[35; 36) " " | 28 | UNDERSCORE@[34; 35) "_" |
29 | FAT_ARROW@[36; 38) "=>" | 29 | WHITESPACE@[35; 36) " " |
30 | WHITESPACE@[38; 39) " " | 30 | FAT_ARROW@[36; 38) "=>" |
31 | TUPLE_EXPR@[39; 41) | 31 | WHITESPACE@[38; 39) " " |
32 | L_PAREN@[39; 40) "(" | 32 | TUPLE_EXPR@[39; 41) |
33 | R_PAREN@[40; 41) ")" | 33 | L_PAREN@[39; 40) "(" |
34 | COMMA@[41; 42) "," | 34 | R_PAREN@[40; 41) ")" |
35 | WHITESPACE@[42; 51) "\n " | 35 | COMMA@[41; 42) "," |
36 | MATCH_ARM@[51; 78) | 36 | WHITESPACE@[42; 51) "\n " |
37 | ATTR@[51; 52) | 37 | MATCH_ARM@[51; 78) |
38 | POUND@[51; 52) "#" | 38 | ATTR@[51; 52) |
39 | ERROR@[52; 53) | 39 | POUND@[51; 52) "#" |
40 | EXCL@[52; 53) "!" | 40 | ERROR@[52; 53) |
41 | ARRAY_EXPR@[53; 78) | 41 | EXCL@[52; 53) "!" |
42 | L_BRACK@[53; 54) "[" | 42 | ARRAY_EXPR@[53; 78) |
43 | CALL_EXPR@[54; 77) | 43 | L_BRACK@[53; 54) "[" |
44 | PATH_EXPR@[54; 57) | 44 | CALL_EXPR@[54; 77) |
45 | PATH@[54; 57) | 45 | PATH_EXPR@[54; 57) |
46 | PATH_SEGMENT@[54; 57) | 46 | PATH@[54; 57) |
47 | NAME_REF@[54; 57) | 47 | PATH_SEGMENT@[54; 57) |
48 | IDENT@[54; 57) "doc" | 48 | NAME_REF@[54; 57) |
49 | ARG_LIST@[57; 77) | 49 | IDENT@[54; 57) "doc" |
50 | L_PAREN@[57; 58) "(" | 50 | ARG_LIST@[57; 77) |
51 | LITERAL@[58; 76) | 51 | L_PAREN@[57; 58) "(" |
52 | STRING@[58; 76) "\"Not allowed here\"" | 52 | LITERAL@[58; 76) |
53 | R_PAREN@[76; 77) ")" | 53 | STRING@[58; 76) "\"Not allowed here\"" |
54 | R_BRACK@[77; 78) "]" | 54 | R_PAREN@[76; 77) ")" |
55 | WHITESPACE@[78; 87) "\n " | 55 | R_BRACK@[77; 78) "]" |
56 | MATCH_ARM@[87; 94) | 56 | WHITESPACE@[78; 87) "\n " |
57 | PLACEHOLDER_PAT@[87; 88) | 57 | MATCH_ARM@[87; 94) |
58 | UNDERSCORE@[87; 88) "_" | 58 | PLACEHOLDER_PAT@[87; 88) |
59 | WHITESPACE@[88; 89) " " | 59 | UNDERSCORE@[87; 88) "_" |
60 | FAT_ARROW@[89; 91) "=>" | 60 | WHITESPACE@[88; 89) " " |
61 | WHITESPACE@[91; 92) " " | 61 | FAT_ARROW@[89; 91) "=>" |
62 | TUPLE_EXPR@[92; 94) | 62 | WHITESPACE@[91; 92) " " |
63 | L_PAREN@[92; 93) "(" | 63 | TUPLE_EXPR@[92; 94) |
64 | R_PAREN@[93; 94) ")" | 64 | L_PAREN@[92; 93) "(" |
65 | COMMA@[94; 95) "," | 65 | R_PAREN@[93; 94) ")" |
66 | WHITESPACE@[95; 100) "\n " | 66 | COMMA@[94; 95) "," |
67 | R_CURLY@[100; 101) "}" | 67 | WHITESPACE@[95; 100) "\n " |
68 | WHITESPACE@[101; 107) "\n\n " | 68 | R_CURLY@[100; 101) "}" |
69 | EXPR_STMT@[107; 185) | 69 | WHITESPACE@[101; 107) "\n\n " |
70 | MATCH_EXPR@[107; 185) | 70 | EXPR_STMT@[107; 185) |
71 | MATCH_KW@[107; 112) "match" | 71 | MATCH_EXPR@[107; 185) |
72 | WHITESPACE@[112; 113) " " | 72 | MATCH_KW@[107; 112) "match" |
73 | TUPLE_EXPR@[113; 115) | 73 | WHITESPACE@[112; 113) " " |
74 | L_PAREN@[113; 114) "(" | 74 | TUPLE_EXPR@[113; 115) |
75 | R_PAREN@[114; 115) ")" | 75 | L_PAREN@[113; 114) "(" |
76 | WHITESPACE@[115; 116) " " | 76 | R_PAREN@[114; 115) ")" |
77 | MATCH_ARM_LIST@[116; 185) | 77 | WHITESPACE@[115; 116) " " |
78 | L_CURLY@[116; 117) "{" | 78 | MATCH_ARM_LIST@[116; 185) |
79 | WHITESPACE@[117; 126) "\n " | 79 | L_CURLY@[116; 117) "{" |
80 | MATCH_ARM@[126; 133) | 80 | WHITESPACE@[117; 126) "\n " |
81 | PLACEHOLDER_PAT@[126; 127) | 81 | MATCH_ARM@[126; 133) |
82 | UNDERSCORE@[126; 127) "_" | 82 | PLACEHOLDER_PAT@[126; 127) |
83 | WHITESPACE@[127; 128) " " | 83 | UNDERSCORE@[126; 127) "_" |
84 | FAT_ARROW@[128; 130) "=>" | 84 | WHITESPACE@[127; 128) " " |
85 | WHITESPACE@[130; 131) " " | 85 | FAT_ARROW@[128; 130) "=>" |
86 | TUPLE_EXPR@[131; 133) | 86 | WHITESPACE@[130; 131) " " |
87 | L_PAREN@[131; 132) "(" | 87 | TUPLE_EXPR@[131; 133) |
88 | R_PAREN@[132; 133) ")" | 88 | L_PAREN@[131; 132) "(" |
89 | COMMA@[133; 134) "," | 89 | R_PAREN@[132; 133) ")" |
90 | WHITESPACE@[134; 143) "\n " | 90 | COMMA@[133; 134) "," |
91 | MATCH_ARM@[143; 150) | 91 | WHITESPACE@[134; 143) "\n " |
92 | PLACEHOLDER_PAT@[143; 144) | 92 | MATCH_ARM@[143; 150) |
93 | UNDERSCORE@[143; 144) "_" | 93 | PLACEHOLDER_PAT@[143; 144) |
94 | WHITESPACE@[144; 145) " " | 94 | UNDERSCORE@[143; 144) "_" |
95 | FAT_ARROW@[145; 147) "=>" | 95 | WHITESPACE@[144; 145) " " |
96 | WHITESPACE@[147; 148) " " | 96 | FAT_ARROW@[145; 147) "=>" |
97 | TUPLE_EXPR@[148; 150) | 97 | WHITESPACE@[147; 148) " " |
98 | L_PAREN@[148; 149) "(" | 98 | TUPLE_EXPR@[148; 150) |
99 | R_PAREN@[149; 150) ")" | 99 | L_PAREN@[148; 149) "(" |
100 | COMMA@[150; 151) "," | 100 | R_PAREN@[149; 150) ")" |
101 | WHITESPACE@[151; 160) "\n " | 101 | COMMA@[150; 151) "," |
102 | MATCH_ARM@[160; 179) | 102 | WHITESPACE@[151; 160) "\n " |
103 | ATTR@[160; 161) | 103 | MATCH_ARM@[160; 179) |
104 | POUND@[160; 161) "#" | 104 | ATTR@[160; 161) |
105 | ERROR@[161; 162) | 105 | POUND@[160; 161) "#" |
106 | EXCL@[161; 162) "!" | 106 | ERROR@[161; 162) |
107 | ARRAY_EXPR@[162; 179) | 107 | EXCL@[161; 162) "!" |
108 | L_BRACK@[162; 163) "[" | 108 | ARRAY_EXPR@[162; 179) |
109 | CALL_EXPR@[163; 178) | 109 | L_BRACK@[162; 163) "[" |
110 | PATH_EXPR@[163; 166) | 110 | CALL_EXPR@[163; 178) |
111 | PATH@[163; 166) | 111 | PATH_EXPR@[163; 166) |
112 | PATH_SEGMENT@[163; 166) | 112 | PATH@[163; 166) |
113 | NAME_REF@[163; 166) | 113 | PATH_SEGMENT@[163; 166) |
114 | IDENT@[163; 166) "doc" | 114 | NAME_REF@[163; 166) |
115 | ARG_LIST@[166; 178) | 115 | IDENT@[163; 166) "doc" |
116 | L_PAREN@[166; 167) "(" | 116 | ARG_LIST@[166; 178) |
117 | LITERAL@[167; 177) | 117 | L_PAREN@[166; 167) "(" |
118 | STRING@[167; 177) "\"Nor here\"" | 118 | LITERAL@[167; 177) |
119 | R_PAREN@[177; 178) ")" | 119 | STRING@[167; 177) "\"Nor here\"" |
120 | R_BRACK@[178; 179) "]" | 120 | R_PAREN@[177; 178) ")" |
121 | WHITESPACE@[179; 184) "\n " | 121 | R_BRACK@[178; 179) "]" |
122 | R_CURLY@[184; 185) "}" | 122 | WHITESPACE@[179; 184) "\n " |
123 | WHITESPACE@[185; 191) "\n\n " | 123 | R_CURLY@[184; 185) "}" |
124 | MATCH_EXPR@[191; 290) | 124 | WHITESPACE@[185; 191) "\n\n " |
125 | MATCH_KW@[191; 196) "match" | 125 | MATCH_EXPR@[191; 290) |
126 | WHITESPACE@[196; 197) " " | 126 | MATCH_KW@[191; 196) "match" |
127 | TUPLE_EXPR@[197; 199) | 127 | WHITESPACE@[196; 197) " " |
128 | L_PAREN@[197; 198) "(" | 128 | TUPLE_EXPR@[197; 199) |
129 | R_PAREN@[198; 199) ")" | 129 | L_PAREN@[197; 198) "(" |
130 | WHITESPACE@[199; 200) " " | 130 | R_PAREN@[198; 199) ")" |
131 | MATCH_ARM_LIST@[200; 290) | 131 | WHITESPACE@[199; 200) " " |
132 | L_CURLY@[200; 201) "{" | 132 | MATCH_ARM_LIST@[200; 290) |
133 | WHITESPACE@[201; 210) "\n " | 133 | L_CURLY@[200; 201) "{" |
134 | MATCH_ARM@[210; 250) | 134 | WHITESPACE@[201; 210) "\n " |
135 | ATTR@[210; 222) | 135 | MATCH_ARM@[210; 250) |
136 | POUND@[210; 211) "#" | 136 | ATTR@[210; 222) |
137 | TOKEN_TREE@[211; 222) | 137 | POUND@[210; 211) "#" |
138 | L_BRACK@[211; 212) "[" | 138 | TOKEN_TREE@[211; 222) |
139 | IDENT@[212; 215) "cfg" | 139 | L_BRACK@[211; 212) "[" |
140 | TOKEN_TREE@[215; 221) | 140 | IDENT@[212; 215) "cfg" |
141 | L_PAREN@[215; 216) "(" | 141 | TOKEN_TREE@[215; 221) |
142 | IDENT@[216; 220) "test" | 142 | L_PAREN@[215; 216) "(" |
143 | R_PAREN@[220; 221) ")" | 143 | IDENT@[216; 220) "test" |
144 | R_BRACK@[221; 222) "]" | 144 | R_PAREN@[220; 221) ")" |
145 | WHITESPACE@[222; 231) "\n " | 145 | R_BRACK@[221; 222) "]" |
146 | ATTR@[231; 232) | 146 | WHITESPACE@[222; 231) "\n " |
147 | POUND@[231; 232) "#" | 147 | ATTR@[231; 232) |
148 | ERROR@[232; 233) | 148 | POUND@[231; 232) "#" |
149 | EXCL@[232; 233) "!" | 149 | ERROR@[232; 233) |
150 | ARRAY_EXPR@[233; 250) | 150 | EXCL@[232; 233) "!" |
151 | L_BRACK@[233; 234) "[" | 151 | ARRAY_EXPR@[233; 250) |
152 | CALL_EXPR@[234; 249) | 152 | L_BRACK@[233; 234) "[" |
153 | PATH_EXPR@[234; 237) | 153 | CALL_EXPR@[234; 249) |
154 | PATH@[234; 237) | 154 | PATH_EXPR@[234; 237) |
155 | PATH_SEGMENT@[234; 237) | 155 | PATH@[234; 237) |
156 | NAME_REF@[234; 237) | 156 | PATH_SEGMENT@[234; 237) |
157 | IDENT@[234; 237) "doc" | 157 | NAME_REF@[234; 237) |
158 | ARG_LIST@[237; 249) | 158 | IDENT@[234; 237) "doc" |
159 | L_PAREN@[237; 238) "(" | 159 | ARG_LIST@[237; 249) |
160 | LITERAL@[238; 248) | 160 | L_PAREN@[237; 238) "(" |
161 | STRING@[238; 248) "\"Nor here\"" | 161 | LITERAL@[238; 248) |
162 | R_PAREN@[248; 249) ")" | 162 | STRING@[238; 248) "\"Nor here\"" |
163 | R_BRACK@[249; 250) "]" | 163 | R_PAREN@[248; 249) ")" |
164 | WHITESPACE@[250; 259) "\n " | 164 | R_BRACK@[249; 250) "]" |
165 | MATCH_ARM@[259; 266) | 165 | WHITESPACE@[250; 259) "\n " |
166 | PLACEHOLDER_PAT@[259; 260) | 166 | MATCH_ARM@[259; 266) |
167 | UNDERSCORE@[259; 260) "_" | 167 | PLACEHOLDER_PAT@[259; 260) |
168 | WHITESPACE@[260; 261) " " | 168 | UNDERSCORE@[259; 260) "_" |
169 | FAT_ARROW@[261; 263) "=>" | 169 | WHITESPACE@[260; 261) " " |
170 | WHITESPACE@[263; 264) " " | 170 | FAT_ARROW@[261; 263) "=>" |
171 | TUPLE_EXPR@[264; 266) | 171 | WHITESPACE@[263; 264) " " |
172 | L_PAREN@[264; 265) "(" | 172 | TUPLE_EXPR@[264; 266) |
173 | R_PAREN@[265; 266) ")" | 173 | L_PAREN@[264; 265) "(" |
174 | COMMA@[266; 267) "," | 174 | R_PAREN@[265; 266) ")" |
175 | WHITESPACE@[267; 276) "\n " | 175 | COMMA@[266; 267) "," |
176 | MATCH_ARM@[276; 283) | 176 | WHITESPACE@[267; 276) "\n " |
177 | PLACEHOLDER_PAT@[276; 277) | 177 | MATCH_ARM@[276; 283) |
178 | UNDERSCORE@[276; 277) "_" | 178 | PLACEHOLDER_PAT@[276; 277) |
179 | WHITESPACE@[277; 278) " " | 179 | UNDERSCORE@[276; 277) "_" |
180 | FAT_ARROW@[278; 280) "=>" | 180 | WHITESPACE@[277; 278) " " |
181 | WHITESPACE@[280; 281) " " | 181 | FAT_ARROW@[278; 280) "=>" |
182 | TUPLE_EXPR@[281; 283) | 182 | WHITESPACE@[280; 281) " " |
183 | L_PAREN@[281; 282) "(" | 183 | TUPLE_EXPR@[281; 283) |
184 | R_PAREN@[282; 283) ")" | 184 | L_PAREN@[281; 282) "(" |
185 | COMMA@[283; 284) "," | 185 | R_PAREN@[282; 283) ")" |
186 | WHITESPACE@[284; 289) "\n " | 186 | COMMA@[283; 284) "," |
187 | R_CURLY@[289; 290) "}" | 187 | WHITESPACE@[284; 289) "\n " |
188 | WHITESPACE@[290; 291) "\n" | 188 | R_CURLY@[289; 290) "}" |
189 | R_CURLY@[291; 292) "}" | 189 | WHITESPACE@[290; 291) "\n" |
190 | R_CURLY@[291; 292) "}" | ||
190 | WHITESPACE@[292; 293) "\n" | 191 | WHITESPACE@[292; 293) "\n" |
191 | error 52: expected `[` | 192 | error 52: expected `[` |
192 | error 52: expected pattern | 193 | error 52: expected pattern |
diff --git a/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.txt b/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.txt index e4f1f6337..b65cc3de3 100644 --- a/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.txt +++ b/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.txt | |||
@@ -8,56 +8,57 @@ SOURCE_FILE@[0; 89) | |||
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_EXPR@[9; 88) |
12 | L_CURLY@[9; 10) "{" | 12 | BLOCK@[9; 88) |
13 | WHITESPACE@[10; 15) "\n " | 13 | L_CURLY@[9; 10) "{" |
14 | MATCH_EXPR@[15; 86) | 14 | WHITESPACE@[10; 15) "\n " |
15 | MATCH_KW@[15; 20) "match" | 15 | MATCH_EXPR@[15; 86) |
16 | WHITESPACE@[20; 21) " " | 16 | MATCH_KW@[15; 20) "match" |
17 | TUPLE_EXPR@[21; 23) | 17 | WHITESPACE@[20; 21) " " |
18 | L_PAREN@[21; 22) "(" | 18 | TUPLE_EXPR@[21; 23) |
19 | R_PAREN@[22; 23) ")" | 19 | L_PAREN@[21; 22) "(" |
20 | WHITESPACE@[23; 24) " " | 20 | R_PAREN@[22; 23) ")" |
21 | MATCH_ARM_LIST@[24; 86) | 21 | WHITESPACE@[23; 24) " " |
22 | L_CURLY@[24; 25) "{" | 22 | MATCH_ARM_LIST@[24; 86) |
23 | WHITESPACE@[25; 34) "\n " | 23 | L_CURLY@[24; 25) "{" |
24 | MATCH_ARM@[34; 41) | 24 | WHITESPACE@[25; 34) "\n " |
25 | PLACEHOLDER_PAT@[34; 35) | 25 | MATCH_ARM@[34; 41) |
26 | UNDERSCORE@[34; 35) "_" | 26 | PLACEHOLDER_PAT@[34; 35) |
27 | WHITESPACE@[35; 36) " " | 27 | UNDERSCORE@[34; 35) "_" |
28 | FAT_ARROW@[36; 38) "=>" | 28 | WHITESPACE@[35; 36) " " |
29 | WHITESPACE@[38; 39) " " | 29 | FAT_ARROW@[36; 38) "=>" |
30 | TUPLE_EXPR@[39; 41) | 30 | WHITESPACE@[38; 39) " " |
31 | L_PAREN@[39; 40) "(" | 31 | TUPLE_EXPR@[39; 41) |
32 | R_PAREN@[40; 41) ")" | 32 | L_PAREN@[39; 40) "(" |
33 | COMMA@[41; 42) "," | 33 | R_PAREN@[40; 41) ")" |
34 | WHITESPACE@[42; 51) "\n " | 34 | COMMA@[41; 42) "," |
35 | MATCH_ARM@[51; 58) | 35 | WHITESPACE@[42; 51) "\n " |
36 | PLACEHOLDER_PAT@[51; 52) | 36 | MATCH_ARM@[51; 58) |
37 | UNDERSCORE@[51; 52) "_" | 37 | PLACEHOLDER_PAT@[51; 52) |
38 | WHITESPACE@[52; 53) " " | 38 | UNDERSCORE@[51; 52) "_" |
39 | FAT_ARROW@[53; 55) "=>" | 39 | WHITESPACE@[52; 53) " " |
40 | WHITESPACE@[55; 56) " " | 40 | FAT_ARROW@[53; 55) "=>" |
41 | TUPLE_EXPR@[56; 58) | 41 | WHITESPACE@[55; 56) " " |
42 | L_PAREN@[56; 57) "(" | 42 | TUPLE_EXPR@[56; 58) |
43 | R_PAREN@[57; 58) ")" | 43 | L_PAREN@[56; 57) "(" |
44 | COMMA@[58; 59) "," | 44 | R_PAREN@[57; 58) ")" |
45 | WHITESPACE@[59; 68) "\n " | 45 | COMMA@[58; 59) "," |
46 | MATCH_ARM@[68; 80) | 46 | WHITESPACE@[59; 68) "\n " |
47 | ATTR@[68; 80) | 47 | MATCH_ARM@[68; 80) |
48 | POUND@[68; 69) "#" | 48 | ATTR@[68; 80) |
49 | TOKEN_TREE@[69; 80) | 49 | POUND@[68; 69) "#" |
50 | L_BRACK@[69; 70) "[" | 50 | TOKEN_TREE@[69; 80) |
51 | IDENT@[70; 73) "cfg" | 51 | L_BRACK@[69; 70) "[" |
52 | TOKEN_TREE@[73; 79) | 52 | IDENT@[70; 73) "cfg" |
53 | L_PAREN@[73; 74) "(" | 53 | TOKEN_TREE@[73; 79) |
54 | IDENT@[74; 78) "test" | 54 | L_PAREN@[73; 74) "(" |
55 | R_PAREN@[78; 79) ")" | 55 | IDENT@[74; 78) "test" |
56 | R_BRACK@[79; 80) "]" | 56 | R_PAREN@[78; 79) ")" |
57 | WHITESPACE@[80; 85) "\n " | 57 | R_BRACK@[79; 80) "]" |
58 | R_CURLY@[85; 86) "}" | 58 | WHITESPACE@[80; 85) "\n " |
59 | WHITESPACE@[86; 87) "\n" | 59 | R_CURLY@[85; 86) "}" |
60 | R_CURLY@[87; 88) "}" | 60 | WHITESPACE@[86; 87) "\n" |
61 | R_CURLY@[87; 88) "}" | ||
61 | WHITESPACE@[88; 89) "\n" | 62 | WHITESPACE@[88; 89) "\n" |
62 | error 80: expected pattern | 63 | error 80: expected pattern |
63 | error 80: expected FAT_ARROW | 64 | error 80: expected FAT_ARROW |
diff --git a/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.txt b/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.txt index 0cdca4b55..21269fb02 100644 --- a/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.txt +++ b/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.txt | |||
@@ -8,84 +8,85 @@ SOURCE_FILE@[0; 91) | |||
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; 89) | 11 | BLOCK_EXPR@[10; 89) |
12 | L_CURLY@[10; 11) "{" | 12 | BLOCK@[10; 89) |
13 | WHITESPACE@[11; 16) "\n " | 13 | L_CURLY@[10; 11) "{" |
14 | LET_STMT@[16; 27) | 14 | WHITESPACE@[11; 16) "\n " |
15 | LET_KW@[16; 19) "let" | 15 | LET_STMT@[16; 27) |
16 | WHITESPACE@[19; 20) " " | 16 | LET_KW@[16; 19) "let" |
17 | BIND_PAT@[20; 27) | 17 | WHITESPACE@[19; 20) " " |
18 | REF_KW@[20; 23) "ref" | 18 | BIND_PAT@[20; 27) |
19 | WHITESPACE@[23; 24) " " | 19 | REF_KW@[20; 23) "ref" |
20 | ERROR@[24; 27) | 20 | WHITESPACE@[23; 24) " " |
21 | BOX_KW@[24; 27) "box" | 21 | ERROR@[24; 27) |
22 | WHITESPACE@[27; 28) " " | 22 | BOX_KW@[24; 27) "box" |
23 | EXPR_STMT@[28; 35) | 23 | WHITESPACE@[27; 28) " " |
24 | BIN_EXPR@[28; 34) | 24 | EXPR_STMT@[28; 35) |
25 | PATH_EXPR@[28; 29) | 25 | BIN_EXPR@[28; 34) |
26 | PATH@[28; 29) | 26 | PATH_EXPR@[28; 29) |
27 | PATH_SEGMENT@[28; 29) | 27 | PATH@[28; 29) |
28 | NAME_REF@[28; 29) | 28 | PATH_SEGMENT@[28; 29) |
29 | IDENT@[28; 29) "i" | 29 | NAME_REF@[28; 29) |
30 | WHITESPACE@[29; 30) " " | 30 | IDENT@[28; 29) "i" |
31 | EQ@[30; 31) "=" | 31 | WHITESPACE@[29; 30) " " |
32 | WHITESPACE@[31; 32) " " | 32 | EQ@[30; 31) "=" |
33 | TUPLE_EXPR@[32; 34) | 33 | WHITESPACE@[31; 32) " " |
34 | L_PAREN@[32; 33) "(" | 34 | TUPLE_EXPR@[32; 34) |
35 | R_PAREN@[33; 34) ")" | 35 | L_PAREN@[32; 33) "(" |
36 | SEMI@[34; 35) ";" | 36 | R_PAREN@[33; 34) ")" |
37 | WHITESPACE@[35; 40) "\n " | 37 | SEMI@[34; 35) ";" |
38 | LET_STMT@[40; 51) | 38 | WHITESPACE@[35; 40) "\n " |
39 | LET_KW@[40; 43) "let" | 39 | LET_STMT@[40; 51) |
40 | WHITESPACE@[43; 44) " " | 40 | LET_KW@[40; 43) "let" |
41 | BIND_PAT@[44; 51) | 41 | WHITESPACE@[43; 44) " " |
42 | MUT_KW@[44; 47) "mut" | 42 | BIND_PAT@[44; 51) |
43 | WHITESPACE@[47; 48) " " | 43 | MUT_KW@[44; 47) "mut" |
44 | ERROR@[48; 51) | 44 | WHITESPACE@[47; 48) " " |
45 | BOX_KW@[48; 51) "box" | 45 | ERROR@[48; 51) |
46 | WHITESPACE@[51; 52) " " | 46 | BOX_KW@[48; 51) "box" |
47 | EXPR_STMT@[52; 59) | 47 | WHITESPACE@[51; 52) " " |
48 | BIN_EXPR@[52; 58) | 48 | EXPR_STMT@[52; 59) |
49 | PATH_EXPR@[52; 53) | 49 | BIN_EXPR@[52; 58) |
50 | PATH@[52; 53) | 50 | PATH_EXPR@[52; 53) |
51 | PATH_SEGMENT@[52; 53) | 51 | PATH@[52; 53) |
52 | NAME_REF@[52; 53) | 52 | PATH_SEGMENT@[52; 53) |
53 | IDENT@[52; 53) "i" | 53 | NAME_REF@[52; 53) |
54 | WHITESPACE@[53; 54) " " | 54 | IDENT@[52; 53) "i" |
55 | EQ@[54; 55) "=" | 55 | WHITESPACE@[53; 54) " " |
56 | WHITESPACE@[55; 56) " " | 56 | EQ@[54; 55) "=" |
57 | TUPLE_EXPR@[56; 58) | 57 | WHITESPACE@[55; 56) " " |
58 | L_PAREN@[56; 57) "(" | 58 | TUPLE_EXPR@[56; 58) |
59 | R_PAREN@[57; 58) ")" | 59 | L_PAREN@[56; 57) "(" |
60 | SEMI@[58; 59) ";" | 60 | R_PAREN@[57; 58) ")" |
61 | WHITESPACE@[59; 64) "\n " | 61 | SEMI@[58; 59) ";" |
62 | LET_STMT@[64; 79) | 62 | WHITESPACE@[59; 64) "\n " |
63 | LET_KW@[64; 67) "let" | 63 | LET_STMT@[64; 79) |
64 | WHITESPACE@[67; 68) " " | 64 | LET_KW@[64; 67) "let" |
65 | BIND_PAT@[68; 79) | 65 | WHITESPACE@[67; 68) " " |
66 | REF_KW@[68; 71) "ref" | 66 | BIND_PAT@[68; 79) |
67 | WHITESPACE@[71; 72) " " | 67 | REF_KW@[68; 71) "ref" |
68 | MUT_KW@[72; 75) "mut" | 68 | WHITESPACE@[71; 72) " " |
69 | WHITESPACE@[75; 76) " " | 69 | MUT_KW@[72; 75) "mut" |
70 | ERROR@[76; 79) | 70 | WHITESPACE@[75; 76) " " |
71 | BOX_KW@[76; 79) "box" | 71 | ERROR@[76; 79) |
72 | WHITESPACE@[79; 80) " " | 72 | BOX_KW@[76; 79) "box" |
73 | EXPR_STMT@[80; 87) | 73 | WHITESPACE@[79; 80) " " |
74 | BIN_EXPR@[80; 86) | 74 | EXPR_STMT@[80; 87) |
75 | PATH_EXPR@[80; 81) | 75 | BIN_EXPR@[80; 86) |
76 | PATH@[80; 81) | 76 | PATH_EXPR@[80; 81) |
77 | PATH_SEGMENT@[80; 81) | 77 | PATH@[80; 81) |
78 | NAME_REF@[80; 81) | 78 | PATH_SEGMENT@[80; 81) |
79 | IDENT@[80; 81) "i" | 79 | NAME_REF@[80; 81) |
80 | WHITESPACE@[81; 82) " " | 80 | IDENT@[80; 81) "i" |
81 | EQ@[82; 83) "=" | 81 | WHITESPACE@[81; 82) " " |
82 | WHITESPACE@[83; 84) " " | 82 | EQ@[82; 83) "=" |
83 | TUPLE_EXPR@[84; 86) | 83 | WHITESPACE@[83; 84) " " |
84 | L_PAREN@[84; 85) "(" | 84 | TUPLE_EXPR@[84; 86) |
85 | R_PAREN@[85; 86) ")" | 85 | L_PAREN@[84; 85) "(" |
86 | SEMI@[86; 87) ";" | 86 | R_PAREN@[85; 86) ")" |
87 | WHITESPACE@[87; 88) "\n" | 87 | SEMI@[86; 87) ";" |
88 | R_CURLY@[88; 89) "}" | 88 | WHITESPACE@[87; 88) "\n" |
89 | R_CURLY@[88; 89) "}" | ||
89 | WHITESPACE@[89; 91) "\n\n" | 90 | WHITESPACE@[89; 91) "\n\n" |
90 | error 24: expected a name | 91 | error 24: expected a name |
91 | error 27: expected SEMI | 92 | error 27: expected SEMI |