diff options
Diffstat (limited to 'crates/ra_syntax/tests/data/parser/ok')
12 files changed, 288 insertions, 144 deletions
diff --git a/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt b/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt index 12497e1a9..b49206d80 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt | |||
@@ -11,11 +11,13 @@ SOURCE_FILE@[0; 32) | |||
11 | IDENT@[9; 10) "T" | 11 | IDENT@[9; 10) "T" |
12 | COLON@[10; 11) | 12 | COLON@[10; 11) |
13 | WHITESPACE@[11; 12) | 13 | WHITESPACE@[11; 12) |
14 | PATH_TYPE@[12; 16) | 14 | TYPE_BOUND_LIST@[12; 16) |
15 | PATH@[12; 16) | 15 | TYPE_BOUND@[12; 16) |
16 | PATH_SEGMENT@[12; 16) | 16 | PATH_TYPE@[12; 16) |
17 | NAME_REF@[12; 16) | 17 | PATH@[12; 16) |
18 | IDENT@[12; 16) "Copy" | 18 | PATH_SEGMENT@[12; 16) |
19 | NAME_REF@[12; 16) | ||
20 | IDENT@[12; 16) "Copy" | ||
19 | R_ANGLE@[16; 17) | 21 | R_ANGLE@[16; 17) |
20 | WHITESPACE@[17; 18) | 22 | WHITESPACE@[17; 18) |
21 | NAMED_FIELD_DEF_LIST@[18; 31) | 23 | NAMED_FIELD_DEF_LIST@[18; 31) |
diff --git a/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.rs b/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.rs index 3ce336676..ab81a608c 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.rs +++ b/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.rs | |||
@@ -1,2 +1,3 @@ | |||
1 | extern crate foo; | 1 | extern crate foo; |
2 | extern crate foo as bar; | 2 | extern crate foo as bar; |
3 | extern crate self as baz; | ||
diff --git a/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt b/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt index 5558d952e..0176260c1 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | SOURCE_FILE@[0; 43) | 1 | SOURCE_FILE@[0; 69) |
2 | EXTERN_CRATE_ITEM@[0; 17) | 2 | EXTERN_CRATE_ITEM@[0; 17) |
3 | EXTERN_KW@[0; 6) | 3 | EXTERN_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | WHITESPACE@[6; 7) |
@@ -23,3 +23,18 @@ SOURCE_FILE@[0; 43) | |||
23 | IDENT@[38; 41) "bar" | 23 | IDENT@[38; 41) "bar" |
24 | SEMI@[41; 42) | 24 | SEMI@[41; 42) |
25 | WHITESPACE@[42; 43) | 25 | WHITESPACE@[42; 43) |
26 | EXTERN_CRATE_ITEM@[43; 68) | ||
27 | EXTERN_KW@[43; 49) | ||
28 | WHITESPACE@[49; 50) | ||
29 | CRATE_KW@[50; 55) | ||
30 | WHITESPACE@[55; 56) | ||
31 | SELF_KW@[56; 60) | ||
32 | SELF_KW@[56; 60) | ||
33 | WHITESPACE@[60; 61) | ||
34 | ALIAS@[61; 67) | ||
35 | AS_KW@[61; 63) | ||
36 | WHITESPACE@[63; 64) | ||
37 | NAME@[64; 67) | ||
38 | IDENT@[64; 67) "baz" | ||
39 | SEMI@[67; 68) | ||
40 | WHITESPACE@[68; 69) | ||
diff --git a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs index a1b9f00a4..712898978 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs +++ b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs | |||
@@ -7,3 +7,4 @@ struct F<T: 'a + 'd + Clone>; | |||
7 | struct G<T: Clone + Copy>; | 7 | struct G<T: Clone + Copy>; |
8 | struct H<T: ::Foo + self::Bar + 'a>; | 8 | struct H<T: ::Foo + self::Bar + 'a>; |
9 | struct I<T:, U:,>; | 9 | struct I<T:, U:,>; |
10 | struct K<'a: 'd, 'd: 'a + 'b, T: 'a + 'd + Clone>; \ No newline at end of file | ||
diff --git a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt index b70a1d19a..04aaca4c4 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | SOURCE_FILE@[0; 200) | 1 | SOURCE_FILE@[0; 250) |
2 | STRUCT_DEF@[0; 12) | 2 | STRUCT_DEF@[0; 12) |
3 | STRUCT_KW@[0; 6) | 3 | STRUCT_KW@[0; 6) |
4 | WHITESPACE@[6; 7) | 4 | WHITESPACE@[6; 7) |
@@ -23,6 +23,7 @@ SOURCE_FILE@[0; 200) | |||
23 | NAME@[22; 23) | 23 | NAME@[22; 23) |
24 | IDENT@[22; 23) "T" | 24 | IDENT@[22; 23) "T" |
25 | COLON@[23; 24) | 25 | COLON@[23; 24) |
26 | TYPE_BOUND_LIST@[24; 24) | ||
26 | R_ANGLE@[24; 25) | 27 | R_ANGLE@[24; 25) |
27 | SEMI@[25; 26) | 28 | SEMI@[25; 26) |
28 | WHITESPACE@[26; 27) | 29 | WHITESPACE@[26; 27) |
@@ -38,7 +39,9 @@ SOURCE_FILE@[0; 200) | |||
38 | IDENT@[36; 37) "T" | 39 | IDENT@[36; 37) "T" |
39 | COLON@[37; 38) | 40 | COLON@[37; 38) |
40 | WHITESPACE@[38; 39) | 41 | WHITESPACE@[38; 39) |
41 | LIFETIME@[39; 41) "'a" | 42 | TYPE_BOUND_LIST@[39; 41) |
43 | TYPE_BOUND@[39; 41) | ||
44 | LIFETIME@[39; 41) "'a" | ||
42 | R_ANGLE@[41; 42) | 45 | R_ANGLE@[41; 42) |
43 | SEMI@[42; 43) | 46 | SEMI@[42; 43) |
44 | WHITESPACE@[43; 44) | 47 | WHITESPACE@[43; 44) |
@@ -54,9 +57,11 @@ SOURCE_FILE@[0; 200) | |||
54 | IDENT@[53; 54) "T" | 57 | IDENT@[53; 54) "T" |
55 | COLON@[54; 55) | 58 | COLON@[54; 55) |
56 | WHITESPACE@[55; 56) | 59 | WHITESPACE@[55; 56) |
57 | LIFETIME@[56; 58) "'a" | 60 | TYPE_BOUND_LIST@[56; 60) |
58 | WHITESPACE@[58; 59) | 61 | TYPE_BOUND@[56; 58) |
59 | PLUS@[59; 60) | 62 | LIFETIME@[56; 58) "'a" |
63 | WHITESPACE@[58; 59) | ||
64 | PLUS@[59; 60) | ||
60 | WHITESPACE@[60; 61) | 65 | WHITESPACE@[60; 61) |
61 | R_ANGLE@[61; 62) | 66 | R_ANGLE@[61; 62) |
62 | SEMI@[62; 63) | 67 | SEMI@[62; 63) |
@@ -73,11 +78,14 @@ SOURCE_FILE@[0; 200) | |||
73 | IDENT@[73; 74) "T" | 78 | IDENT@[73; 74) "T" |
74 | COLON@[74; 75) | 79 | COLON@[74; 75) |
75 | WHITESPACE@[75; 76) | 80 | WHITESPACE@[75; 76) |
76 | LIFETIME@[76; 78) "'a" | 81 | TYPE_BOUND_LIST@[76; 83) |
77 | WHITESPACE@[78; 79) | 82 | TYPE_BOUND@[76; 78) |
78 | PLUS@[79; 80) | 83 | LIFETIME@[76; 78) "'a" |
79 | WHITESPACE@[80; 81) | 84 | WHITESPACE@[78; 79) |
80 | LIFETIME@[81; 83) "'d" | 85 | PLUS@[79; 80) |
86 | WHITESPACE@[80; 81) | ||
87 | TYPE_BOUND@[81; 83) | ||
88 | LIFETIME@[81; 83) "'d" | ||
81 | WHITESPACE@[83; 84) | 89 | WHITESPACE@[83; 84) |
82 | R_ANGLE@[84; 85) | 90 | R_ANGLE@[84; 85) |
83 | SEMI@[85; 86) | 91 | SEMI@[85; 86) |
@@ -94,19 +102,23 @@ SOURCE_FILE@[0; 200) | |||
94 | IDENT@[96; 97) "T" | 102 | IDENT@[96; 97) "T" |
95 | COLON@[97; 98) | 103 | COLON@[97; 98) |
96 | WHITESPACE@[98; 99) | 104 | WHITESPACE@[98; 99) |
97 | LIFETIME@[99; 101) "'a" | 105 | TYPE_BOUND_LIST@[99; 114) |
98 | WHITESPACE@[101; 102) | 106 | TYPE_BOUND@[99; 101) |
99 | PLUS@[102; 103) | 107 | LIFETIME@[99; 101) "'a" |
100 | WHITESPACE@[103; 104) | 108 | WHITESPACE@[101; 102) |
101 | LIFETIME@[104; 106) "'d" | 109 | PLUS@[102; 103) |
102 | WHITESPACE@[106; 107) | 110 | WHITESPACE@[103; 104) |
103 | PLUS@[107; 108) | 111 | TYPE_BOUND@[104; 106) |
104 | WHITESPACE@[108; 109) | 112 | LIFETIME@[104; 106) "'d" |
105 | PATH_TYPE@[109; 114) | 113 | WHITESPACE@[106; 107) |
106 | PATH@[109; 114) | 114 | PLUS@[107; 108) |
107 | PATH_SEGMENT@[109; 114) | 115 | WHITESPACE@[108; 109) |
108 | NAME_REF@[109; 114) | 116 | TYPE_BOUND@[109; 114) |
109 | IDENT@[109; 114) "Clone" | 117 | PATH_TYPE@[109; 114) |
118 | PATH@[109; 114) | ||
119 | PATH_SEGMENT@[109; 114) | ||
120 | NAME_REF@[109; 114) | ||
121 | IDENT@[109; 114) "Clone" | ||
110 | R_ANGLE@[114; 115) | 122 | R_ANGLE@[114; 115) |
111 | SEMI@[115; 116) | 123 | SEMI@[115; 116) |
112 | WHITESPACE@[116; 117) | 124 | WHITESPACE@[116; 117) |
@@ -122,19 +134,22 @@ SOURCE_FILE@[0; 200) | |||
122 | IDENT@[126; 127) "T" | 134 | IDENT@[126; 127) "T" |
123 | COLON@[127; 128) | 135 | COLON@[127; 128) |
124 | WHITESPACE@[128; 129) | 136 | WHITESPACE@[128; 129) |
125 | PATH_TYPE@[129; 141) | 137 | TYPE_BOUND_LIST@[129; 141) |
126 | PATH@[129; 134) | 138 | TYPE_BOUND@[129; 134) |
127 | PATH_SEGMENT@[129; 134) | 139 | PATH_TYPE@[129; 134) |
128 | NAME_REF@[129; 134) | 140 | PATH@[129; 134) |
129 | IDENT@[129; 134) "Clone" | 141 | PATH_SEGMENT@[129; 134) |
142 | NAME_REF@[129; 134) | ||
143 | IDENT@[129; 134) "Clone" | ||
130 | WHITESPACE@[134; 135) | 144 | WHITESPACE@[134; 135) |
131 | PLUS@[135; 136) | 145 | PLUS@[135; 136) |
132 | WHITESPACE@[136; 137) | 146 | WHITESPACE@[136; 137) |
133 | PATH_TYPE@[137; 141) | 147 | TYPE_BOUND@[137; 141) |
134 | PATH@[137; 141) | 148 | PATH_TYPE@[137; 141) |
135 | PATH_SEGMENT@[137; 141) | 149 | PATH@[137; 141) |
136 | NAME_REF@[137; 141) | 150 | PATH_SEGMENT@[137; 141) |
137 | IDENT@[137; 141) "Copy" | 151 | NAME_REF@[137; 141) |
152 | IDENT@[137; 141) "Copy" | ||
138 | R_ANGLE@[141; 142) | 153 | R_ANGLE@[141; 142) |
139 | SEMI@[142; 143) | 154 | SEMI@[142; 143) |
140 | WHITESPACE@[143; 144) | 155 | WHITESPACE@[143; 144) |
@@ -150,27 +165,31 @@ SOURCE_FILE@[0; 200) | |||
150 | IDENT@[153; 154) "T" | 165 | IDENT@[153; 154) "T" |
151 | COLON@[154; 155) | 166 | COLON@[154; 155) |
152 | WHITESPACE@[155; 156) | 167 | WHITESPACE@[155; 156) |
153 | PATH_TYPE@[156; 178) | 168 | TYPE_BOUND_LIST@[156; 178) |
154 | PATH@[156; 161) | 169 | TYPE_BOUND@[156; 161) |
155 | PATH_SEGMENT@[156; 161) | 170 | PATH_TYPE@[156; 161) |
156 | COLONCOLON@[156; 158) | 171 | PATH@[156; 161) |
157 | NAME_REF@[158; 161) | 172 | PATH_SEGMENT@[156; 161) |
158 | IDENT@[158; 161) "Foo" | 173 | COLONCOLON@[156; 158) |
174 | NAME_REF@[158; 161) | ||
175 | IDENT@[158; 161) "Foo" | ||
159 | WHITESPACE@[161; 162) | 176 | WHITESPACE@[161; 162) |
160 | PLUS@[162; 163) | 177 | PLUS@[162; 163) |
161 | WHITESPACE@[163; 164) | 178 | WHITESPACE@[163; 164) |
162 | PATH_TYPE@[164; 178) | 179 | TYPE_BOUND@[164; 173) |
163 | PATH@[164; 173) | 180 | PATH_TYPE@[164; 173) |
164 | PATH@[164; 168) | 181 | PATH@[164; 173) |
165 | PATH_SEGMENT@[164; 168) | 182 | PATH@[164; 168) |
166 | SELF_KW@[164; 168) | 183 | PATH_SEGMENT@[164; 168) |
167 | COLONCOLON@[168; 170) | 184 | SELF_KW@[164; 168) |
168 | PATH_SEGMENT@[170; 173) | 185 | COLONCOLON@[168; 170) |
169 | NAME_REF@[170; 173) | 186 | PATH_SEGMENT@[170; 173) |
170 | IDENT@[170; 173) "Bar" | 187 | NAME_REF@[170; 173) |
171 | WHITESPACE@[173; 174) | 188 | IDENT@[170; 173) "Bar" |
172 | PLUS@[174; 175) | 189 | WHITESPACE@[173; 174) |
173 | WHITESPACE@[175; 176) | 190 | PLUS@[174; 175) |
191 | WHITESPACE@[175; 176) | ||
192 | TYPE_BOUND@[176; 178) | ||
174 | LIFETIME@[176; 178) "'a" | 193 | LIFETIME@[176; 178) "'a" |
175 | R_ANGLE@[178; 179) | 194 | R_ANGLE@[178; 179) |
176 | SEMI@[179; 180) | 195 | SEMI@[179; 180) |
@@ -186,13 +205,64 @@ SOURCE_FILE@[0; 200) | |||
186 | NAME@[190; 191) | 205 | NAME@[190; 191) |
187 | IDENT@[190; 191) "T" | 206 | IDENT@[190; 191) "T" |
188 | COLON@[191; 192) | 207 | COLON@[191; 192) |
208 | TYPE_BOUND_LIST@[192; 192) | ||
189 | COMMA@[192; 193) | 209 | COMMA@[192; 193) |
190 | WHITESPACE@[193; 194) | 210 | WHITESPACE@[193; 194) |
191 | TYPE_PARAM@[194; 196) | 211 | TYPE_PARAM@[194; 196) |
192 | NAME@[194; 195) | 212 | NAME@[194; 195) |
193 | IDENT@[194; 195) "U" | 213 | IDENT@[194; 195) "U" |
194 | COLON@[195; 196) | 214 | COLON@[195; 196) |
215 | TYPE_BOUND_LIST@[196; 196) | ||
195 | COMMA@[196; 197) | 216 | COMMA@[196; 197) |
196 | R_ANGLE@[197; 198) | 217 | R_ANGLE@[197; 198) |
197 | SEMI@[198; 199) | 218 | SEMI@[198; 199) |
198 | WHITESPACE@[199; 200) | 219 | WHITESPACE@[199; 200) |
220 | STRUCT_DEF@[200; 250) | ||
221 | STRUCT_KW@[200; 206) | ||
222 | WHITESPACE@[206; 207) | ||
223 | NAME@[207; 208) | ||
224 | IDENT@[207; 208) "K" | ||
225 | TYPE_PARAM_LIST@[208; 249) | ||
226 | L_ANGLE@[208; 209) | ||
227 | LIFETIME_PARAM@[209; 215) | ||
228 | LIFETIME@[209; 211) "'a" | ||
229 | COLON@[211; 212) | ||
230 | WHITESPACE@[212; 213) | ||
231 | LIFETIME@[213; 215) "'d" | ||
232 | COMMA@[215; 216) | ||
233 | WHITESPACE@[216; 217) | ||
234 | LIFETIME_PARAM@[217; 228) | ||
235 | LIFETIME@[217; 219) "'d" | ||
236 | COLON@[219; 220) | ||
237 | WHITESPACE@[220; 221) | ||
238 | LIFETIME@[221; 223) "'a" | ||
239 | WHITESPACE@[223; 224) | ||
240 | PLUS@[224; 225) | ||
241 | WHITESPACE@[225; 226) | ||
242 | LIFETIME@[226; 228) "'b" | ||
243 | COMMA@[228; 229) | ||
244 | WHITESPACE@[229; 230) | ||
245 | TYPE_PARAM@[230; 248) | ||
246 | NAME@[230; 231) | ||
247 | IDENT@[230; 231) "T" | ||
248 | COLON@[231; 232) | ||
249 | WHITESPACE@[232; 233) | ||
250 | TYPE_BOUND_LIST@[233; 248) | ||
251 | TYPE_BOUND@[233; 235) | ||
252 | LIFETIME@[233; 235) "'a" | ||
253 | WHITESPACE@[235; 236) | ||
254 | PLUS@[236; 237) | ||
255 | WHITESPACE@[237; 238) | ||
256 | TYPE_BOUND@[238; 240) | ||
257 | LIFETIME@[238; 240) "'d" | ||
258 | WHITESPACE@[240; 241) | ||
259 | PLUS@[241; 242) | ||
260 | WHITESPACE@[242; 243) | ||
261 | TYPE_BOUND@[243; 248) | ||
262 | PATH_TYPE@[243; 248) | ||
263 | PATH@[243; 248) | ||
264 | PATH_SEGMENT@[243; 248) | ||
265 | NAME_REF@[243; 248) | ||
266 | IDENT@[243; 248) "Clone" | ||
267 | R_ANGLE@[248; 249) | ||
268 | SEMI@[249; 250) | ||
diff --git a/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt b/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt index 150a9e483..7236d9e62 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt | |||
@@ -25,43 +25,48 @@ SOURCE_FILE@[0; 116) | |||
25 | IDENT@[39; 42) "SER" | 25 | IDENT@[39; 42) "SER" |
26 | COLON@[42; 43) | 26 | COLON@[42; 43) |
27 | WHITESPACE@[43; 44) | 27 | WHITESPACE@[43; 44) |
28 | PATH_TYPE@[44; 111) | 28 | TYPE_BOUND_LIST@[44; 111) |
29 | PATH@[44; 53) | 29 | TYPE_BOUND@[44; 53) |
30 | PATH_SEGMENT@[44; 53) | 30 | PATH_TYPE@[44; 53) |
31 | NAME_REF@[44; 53) | 31 | PATH@[44; 53) |
32 | IDENT@[44; 53) "Serialize" | 32 | PATH_SEGMENT@[44; 53) |
33 | NAME_REF@[44; 53) | ||
34 | IDENT@[44; 53) "Serialize" | ||
33 | WHITESPACE@[53; 54) | 35 | WHITESPACE@[53; 54) |
34 | PLUS@[54; 55) | 36 | PLUS@[54; 55) |
35 | WHITESPACE@[55; 56) | 37 | WHITESPACE@[55; 56) |
36 | FOR_TYPE@[56; 81) | 38 | TYPE_BOUND@[56; 81) |
37 | FOR_KW@[56; 59) | 39 | FOR_TYPE@[56; 81) |
38 | TYPE_PARAM_LIST@[59; 64) | 40 | FOR_KW@[56; 59) |
39 | L_ANGLE@[59; 60) | 41 | TYPE_PARAM_LIST@[59; 64) |
40 | LIFETIME_PARAM@[60; 63) | 42 | L_ANGLE@[59; 60) |
41 | LIFETIME@[60; 63) "'de" | 43 | LIFETIME_PARAM@[60; 63) |
42 | R_ANGLE@[63; 64) | 44 | LIFETIME@[60; 63) "'de" |
43 | WHITESPACE@[64; 65) | 45 | R_ANGLE@[63; 64) |
44 | PATH_TYPE@[65; 81) | 46 | WHITESPACE@[64; 65) |
45 | PATH@[65; 81) | 47 | PATH_TYPE@[65; 81) |
46 | PATH_SEGMENT@[65; 81) | 48 | PATH@[65; 81) |
47 | NAME_REF@[65; 76) | 49 | PATH_SEGMENT@[65; 81) |
48 | IDENT@[65; 76) "Deserialize" | 50 | NAME_REF@[65; 76) |
49 | TYPE_ARG_LIST@[76; 81) | 51 | IDENT@[65; 76) "Deserialize" |
50 | L_ANGLE@[76; 77) | 52 | TYPE_ARG_LIST@[76; 81) |
51 | LIFETIME_ARG@[77; 80) | 53 | L_ANGLE@[76; 77) |
52 | LIFETIME@[77; 80) "'de" | 54 | LIFETIME_ARG@[77; 80) |
53 | R_ANGLE@[80; 81) | 55 | LIFETIME@[77; 80) "'de" |
56 | R_ANGLE@[80; 81) | ||
54 | WHITESPACE@[81; 82) | 57 | WHITESPACE@[81; 82) |
55 | PLUS@[82; 83) | 58 | PLUS@[82; 83) |
56 | WHITESPACE@[83; 84) | 59 | WHITESPACE@[83; 84) |
57 | PATH_TYPE@[84; 111) | 60 | TYPE_BOUND@[84; 93) |
58 | PATH@[84; 93) | 61 | PATH_TYPE@[84; 93) |
59 | PATH_SEGMENT@[84; 93) | 62 | PATH@[84; 93) |
60 | NAME_REF@[84; 93) | 63 | PATH_SEGMENT@[84; 93) |
61 | IDENT@[84; 93) "PartialEq" | 64 | NAME_REF@[84; 93) |
62 | WHITESPACE@[93; 94) | 65 | IDENT@[84; 93) "PartialEq" |
63 | PLUS@[94; 95) | 66 | WHITESPACE@[93; 94) |
64 | WHITESPACE@[95; 96) | 67 | PLUS@[94; 95) |
68 | WHITESPACE@[95; 96) | ||
69 | TYPE_BOUND@[96; 111) | ||
65 | PATH_TYPE@[96; 111) | 70 | PATH_TYPE@[96; 111) |
66 | PATH@[96; 111) | 71 | PATH@[96; 111) |
67 | PATH@[96; 104) | 72 | PATH@[96; 104) |
diff --git a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt index f3987c3b7..580baaac5 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt | |||
@@ -1694,21 +1694,23 @@ SOURCE_FILE@[0; 3813) | |||
1694 | IMPL_TRAIT_TYPE@[3063; 3083) | 1694 | IMPL_TRAIT_TYPE@[3063; 3083) |
1695 | IMPL_KW@[3063; 3067) | 1695 | IMPL_KW@[3063; 3067) |
1696 | WHITESPACE@[3067; 3068) | 1696 | WHITESPACE@[3067; 3068) |
1697 | PATH_TYPE@[3068; 3083) | 1697 | TYPE_BOUND_LIST@[3068; 3083) |
1698 | PATH@[3068; 3083) | 1698 | TYPE_BOUND@[3068; 3083) |
1699 | PATH@[3068; 3076) | 1699 | PATH_TYPE@[3068; 3083) |
1700 | PATH@[3068; 3071) | 1700 | PATH@[3068; 3083) |
1701 | PATH_SEGMENT@[3068; 3071) | 1701 | PATH@[3068; 3076) |
1702 | NAME_REF@[3068; 3071) | 1702 | PATH@[3068; 3071) |
1703 | IDENT@[3068; 3071) "std" | 1703 | PATH_SEGMENT@[3068; 3071) |
1704 | COLONCOLON@[3071; 3073) | 1704 | NAME_REF@[3068; 3071) |
1705 | PATH_SEGMENT@[3073; 3076) | 1705 | IDENT@[3068; 3071) "std" |
1706 | NAME_REF@[3073; 3076) | 1706 | COLONCOLON@[3071; 3073) |
1707 | IDENT@[3073; 3076) "fmt" | 1707 | PATH_SEGMENT@[3073; 3076) |
1708 | COLONCOLON@[3076; 3078) | 1708 | NAME_REF@[3073; 3076) |
1709 | PATH_SEGMENT@[3078; 3083) | 1709 | IDENT@[3073; 3076) "fmt" |
1710 | NAME_REF@[3078; 3083) | 1710 | COLONCOLON@[3076; 3078) |
1711 | IDENT@[3078; 3083) "Debug" | 1711 | PATH_SEGMENT@[3078; 3083) |
1712 | NAME_REF@[3078; 3083) | ||
1713 | IDENT@[3078; 3083) "Debug" | ||
1712 | WHITESPACE@[3083; 3084) | 1714 | WHITESPACE@[3083; 3084) |
1713 | BLOCK@[3084; 3514) | 1715 | BLOCK@[3084; 3514) |
1714 | L_CURLY@[3084; 3085) | 1716 | L_CURLY@[3084; 3085) |
diff --git a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt index 208e5e51c..93e26aaf6 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt | |||
@@ -16,11 +16,13 @@ SOURCE_FILE@[0; 157) | |||
16 | IDENT@[73; 74) "S" | 16 | IDENT@[73; 74) "S" |
17 | COLON@[74; 75) | 17 | COLON@[74; 75) |
18 | WHITESPACE@[75; 76) | 18 | WHITESPACE@[75; 76) |
19 | PATH_TYPE@[76; 84) | 19 | TYPE_BOUND_LIST@[76; 84) |
20 | PATH@[76; 84) | 20 | TYPE_BOUND@[76; 84) |
21 | PATH_SEGMENT@[76; 84) | 21 | PATH_TYPE@[76; 84) |
22 | NAME_REF@[76; 84) | 22 | PATH@[76; 84) |
23 | IDENT@[76; 84) "Iterator" | 23 | PATH_SEGMENT@[76; 84) |
24 | NAME_REF@[76; 84) | ||
25 | IDENT@[76; 84) "Iterator" | ||
24 | R_ANGLE@[84; 85) | 26 | R_ANGLE@[84; 85) |
25 | PARAM_LIST@[85; 87) | 27 | PARAM_LIST@[85; 87) |
26 | L_PAREN@[85; 86) | 28 | L_PAREN@[85; 86) |
@@ -64,11 +66,13 @@ SOURCE_FILE@[0; 157) | |||
64 | IDENT@[125; 129) "Item" | 66 | IDENT@[125; 129) "Item" |
65 | COLON@[129; 130) | 67 | COLON@[129; 130) |
66 | WHITESPACE@[130; 131) | 68 | WHITESPACE@[130; 131) |
67 | PATH_TYPE@[131; 133) | 69 | TYPE_BOUND_LIST@[131; 133) |
68 | PATH@[131; 133) | 70 | TYPE_BOUND@[131; 133) |
69 | PATH_SEGMENT@[131; 133) | 71 | PATH_TYPE@[131; 133) |
70 | NAME_REF@[131; 133) | 72 | PATH@[131; 133) |
71 | IDENT@[131; 133) "Eq" | 73 | PATH_SEGMENT@[131; 133) |
74 | NAME_REF@[131; 133) | ||
75 | IDENT@[131; 133) "Eq" | ||
72 | COMMA@[133; 134) | 76 | COMMA@[133; 134) |
73 | WHITESPACE@[134; 135) | 77 | WHITESPACE@[134; 135) |
74 | BLOCK@[135; 156) | 78 | BLOCK@[135; 156) |
diff --git a/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt b/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt index 4842e9b90..fe3fca5cd 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt | |||
@@ -29,11 +29,13 @@ SOURCE_FILE@[0; 34) | |||
29 | R_PAREN@[25; 26) | 29 | R_PAREN@[25; 26) |
30 | COLON@[26; 27) | 30 | COLON@[26; 27) |
31 | WHITESPACE@[27; 28) | 31 | WHITESPACE@[27; 28) |
32 | PATH_TYPE@[28; 31) | 32 | TYPE_BOUND_LIST@[28; 31) |
33 | PATH@[28; 31) | 33 | TYPE_BOUND@[28; 31) |
34 | PATH_SEGMENT@[28; 31) | 34 | PATH_TYPE@[28; 31) |
35 | NAME_REF@[28; 31) | 35 | PATH@[28; 31) |
36 | IDENT@[28; 31) "Foo" | 36 | PATH_SEGMENT@[28; 31) |
37 | NAME_REF@[28; 31) | ||
38 | IDENT@[28; 31) "Foo" | ||
37 | WHITESPACE@[31; 32) | 39 | WHITESPACE@[31; 32) |
38 | BLOCK@[32; 34) | 40 | BLOCK@[32; 34) |
39 | L_CURLY@[32; 33) | 41 | L_CURLY@[32; 33) |
diff --git a/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt b/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt index a1ba645ef..eba587f18 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt | |||
@@ -116,32 +116,34 @@ SOURCE_FILE@[0; 686) | |||
116 | IMPL_TRAIT_TYPE@[576; 600) | 116 | IMPL_TRAIT_TYPE@[576; 600) |
117 | IMPL_KW@[576; 580) | 117 | IMPL_KW@[576; 580) |
118 | WHITESPACE@[580; 581) | 118 | WHITESPACE@[580; 581) |
119 | PATH_TYPE@[581; 600) | 119 | TYPE_BOUND_LIST@[581; 600) |
120 | PATH@[581; 600) | 120 | TYPE_BOUND@[581; 600) |
121 | PATH_SEGMENT@[581; 600) | 121 | PATH_TYPE@[581; 600) |
122 | NAME_REF@[581; 583) | 122 | PATH@[581; 600) |
123 | IDENT@[581; 583) "Fn" | 123 | PATH_SEGMENT@[581; 600) |
124 | PARAM_LIST@[583; 585) | 124 | NAME_REF@[581; 583) |
125 | L_PAREN@[583; 584) | 125 | IDENT@[581; 583) "Fn" |
126 | R_PAREN@[584; 585) | 126 | PARAM_LIST@[583; 585) |
127 | WHITESPACE@[585; 586) | 127 | L_PAREN@[583; 584) |
128 | RET_TYPE@[586; 600) | 128 | R_PAREN@[584; 585) |
129 | THIN_ARROW@[586; 588) | 129 | WHITESPACE@[585; 586) |
130 | WHITESPACE@[588; 589) | 130 | RET_TYPE@[586; 600) |
131 | PATH_TYPE@[589; 600) | 131 | THIN_ARROW@[586; 588) |
132 | PATH@[589; 600) | 132 | WHITESPACE@[588; 589) |
133 | PATH_SEGMENT@[589; 600) | 133 | PATH_TYPE@[589; 600) |
134 | NAME_REF@[589; 594) | 134 | PATH@[589; 600) |
135 | IDENT@[589; 594) "Event" | 135 | PATH_SEGMENT@[589; 600) |
136 | TYPE_ARG_LIST@[594; 600) | 136 | NAME_REF@[589; 594) |
137 | L_ANGLE@[594; 595) | 137 | IDENT@[589; 594) "Event" |
138 | TYPE_ARG@[595; 599) | 138 | TYPE_ARG_LIST@[594; 600) |
139 | PATH_TYPE@[595; 599) | 139 | L_ANGLE@[594; 595) |
140 | PATH@[595; 599) | 140 | TYPE_ARG@[595; 599) |
141 | PATH_SEGMENT@[595; 599) | 141 | PATH_TYPE@[595; 599) |
142 | NAME_REF@[595; 599) | 142 | PATH@[595; 599) |
143 | IDENT@[595; 599) "Self" | 143 | PATH_SEGMENT@[595; 599) |
144 | R_ANGLE@[599; 600) | 144 | NAME_REF@[595; 599) |
145 | IDENT@[595; 599) "Self" | ||
146 | R_ANGLE@[599; 600) | ||
145 | R_PAREN@[600; 601) | 147 | R_PAREN@[600; 601) |
146 | WHITESPACE@[601; 602) | 148 | WHITESPACE@[601; 602) |
147 | BLOCK@[602; 683) | 149 | BLOCK@[602; 683) |
diff --git a/crates/ra_syntax/tests/data/parser/ok/0049_async_block.rs b/crates/ra_syntax/tests/data/parser/ok/0049_async_block.rs new file mode 100644 index 000000000..4781b3225 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/ok/0049_async_block.rs | |||
@@ -0,0 +1,5 @@ | |||
1 | fn foo() { | ||
2 | async {}; | ||
3 | async move {}; | ||
4 | } | ||
5 | |||
diff --git a/crates/ra_syntax/tests/data/parser/ok/0049_async_block.txt b/crates/ra_syntax/tests/data/parser/ok/0049_async_block.txt new file mode 100644 index 000000000..6212e1130 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/ok/0049_async_block.txt | |||
@@ -0,0 +1,35 @@ | |||
1 | SOURCE_FILE@[0; 47) | ||
2 | FN_DEF@[0; 45) | ||
3 | FN_KW@[0; 2) | ||
4 | WHITESPACE@[2; 3) | ||
5 | NAME@[3; 6) | ||
6 | IDENT@[3; 6) "foo" | ||
7 | PARAM_LIST@[6; 8) | ||
8 | L_PAREN@[6; 7) | ||
9 | R_PAREN@[7; 8) | ||
10 | WHITESPACE@[8; 9) | ||
11 | BLOCK@[9; 45) | ||
12 | L_CURLY@[9; 10) | ||
13 | WHITESPACE@[10; 15) | ||
14 | EXPR_STMT@[15; 24) | ||
15 | BLOCK_EXPR@[15; 23) | ||
16 | ASYNC_KW@[15; 20) | ||
17 | WHITESPACE@[20; 21) | ||
18 | BLOCK@[21; 23) | ||
19 | L_CURLY@[21; 22) | ||
20 | R_CURLY@[22; 23) | ||
21 | SEMI@[23; 24) | ||
22 | WHITESPACE@[24; 29) | ||
23 | EXPR_STMT@[29; 43) | ||
24 | BLOCK_EXPR@[29; 42) | ||
25 | ASYNC_KW@[29; 34) | ||
26 | WHITESPACE@[34; 35) | ||
27 | MOVE_KW@[35; 39) | ||
28 | WHITESPACE@[39; 40) | ||
29 | BLOCK@[40; 42) | ||
30 | L_CURLY@[40; 41) | ||
31 | R_CURLY@[41; 42) | ||
32 | SEMI@[42; 43) | ||
33 | WHITESPACE@[43; 44) | ||
34 | R_CURLY@[44; 45) | ||
35 | WHITESPACE@[45; 47) | ||