]> git.lizzy.rs Git - rust.git/blob - crates/syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
Merge remote-tracking branch 'origin/master'
[rust.git] / crates / syntax / test_data / parser / inline / ok / 0144_dot_dot_pat.rast
1 SOURCE_FILE@0..555
2   FN@0..554
3     FN_KW@0..2 "fn"
4     WHITESPACE@2..3 " "
5     NAME@3..7
6       IDENT@3..7 "main"
7     PARAM_LIST@7..9
8       L_PAREN@7..8 "("
9       R_PAREN@8..9 ")"
10     WHITESPACE@9..10 " "
11     BLOCK_EXPR@10..554
12       L_CURLY@10..11 "{"
13       WHITESPACE@11..16 "\n    "
14       LET_STMT@16..28
15         LET_KW@16..19 "let"
16         WHITESPACE@19..20 " "
17         REST_PAT@20..22
18           DOT2@20..22 ".."
19         WHITESPACE@22..23 " "
20         EQ@23..24 "="
21         WHITESPACE@24..25 " "
22         TUPLE_EXPR@25..27
23           L_PAREN@25..26 "("
24           R_PAREN@26..27 ")"
25         SEMICOLON@27..28 ";"
26       WHITESPACE@28..33 "\n    "
27       COMMENT@33..35 "//"
28       WHITESPACE@35..40 "\n    "
29       COMMENT@40..49 "// Tuples"
30       WHITESPACE@49..54 "\n    "
31       COMMENT@54..56 "//"
32       WHITESPACE@56..61 "\n    "
33       LET_STMT@61..78
34         LET_KW@61..64 "let"
35         WHITESPACE@64..65 " "
36         TUPLE_PAT@65..72
37           L_PAREN@65..66 "("
38           IDENT_PAT@66..67
39             NAME@66..67
40               IDENT@66..67 "a"
41           COMMA@67..68 ","
42           WHITESPACE@68..69 " "
43           REST_PAT@69..71
44             DOT2@69..71 ".."
45           R_PAREN@71..72 ")"
46         WHITESPACE@72..73 " "
47         EQ@73..74 "="
48         WHITESPACE@74..75 " "
49         TUPLE_EXPR@75..77
50           L_PAREN@75..76 "("
51           R_PAREN@76..77 ")"
52         SEMICOLON@77..78 ";"
53       WHITESPACE@78..83 "\n    "
54       LET_STMT@83..101
55         LET_KW@83..86 "let"
56         WHITESPACE@86..87 " "
57         TUPLE_PAT@87..95
58           L_PAREN@87..88 "("
59           IDENT_PAT@88..89
60             NAME@88..89
61               IDENT@88..89 "a"
62           COMMA@89..90 ","
63           WHITESPACE@90..91 " "
64           REST_PAT@91..93
65             DOT2@91..93 ".."
66           COMMA@93..94 ","
67           R_PAREN@94..95 ")"
68         WHITESPACE@95..96 " "
69         EQ@96..97 "="
70         WHITESPACE@97..98 " "
71         TUPLE_EXPR@98..100
72           L_PAREN@98..99 "("
73           R_PAREN@99..100 ")"
74         SEMICOLON@100..101 ";"
75       WHITESPACE@101..106 "\n    "
76       LET_STMT@106..128
77         LET_KW@106..109 "let"
78         WHITESPACE@109..110 " "
79         TUPLE_STRUCT_PAT@110..122
80           PATH@110..115
81             PATH_SEGMENT@110..115
82               NAME_REF@110..115
83                 IDENT@110..115 "Tuple"
84           L_PAREN@115..116 "("
85           IDENT_PAT@116..117
86             NAME@116..117
87               IDENT@116..117 "a"
88           COMMA@117..118 ","
89           WHITESPACE@118..119 " "
90           REST_PAT@119..121
91             DOT2@119..121 ".."
92           R_PAREN@121..122 ")"
93         WHITESPACE@122..123 " "
94         EQ@123..124 "="
95         WHITESPACE@124..125 " "
96         TUPLE_EXPR@125..127
97           L_PAREN@125..126 "("
98           R_PAREN@126..127 ")"
99         SEMICOLON@127..128 ";"
100       WHITESPACE@128..133 "\n    "
101       LET_STMT@133..156
102         LET_KW@133..136 "let"
103         WHITESPACE@136..137 " "
104         TUPLE_STRUCT_PAT@137..150
105           PATH@137..142
106             PATH_SEGMENT@137..142
107               NAME_REF@137..142
108                 IDENT@137..142 "Tuple"
109           L_PAREN@142..143 "("
110           IDENT_PAT@143..144
111             NAME@143..144
112               IDENT@143..144 "a"
113           COMMA@144..145 ","
114           WHITESPACE@145..146 " "
115           REST_PAT@146..148
116             DOT2@146..148 ".."
117           COMMA@148..149 ","
118           R_PAREN@149..150 ")"
119         WHITESPACE@150..151 " "
120         EQ@151..152 "="
121         WHITESPACE@152..153 " "
122         TUPLE_EXPR@153..155
123           L_PAREN@153..154 "("
124           R_PAREN@154..155 ")"
125         SEMICOLON@155..156 ";"
126       WHITESPACE@156..161 "\n    "
127       LET_STMT@161..179
128         LET_KW@161..164 "let"
129         WHITESPACE@164..165 " "
130         TUPLE_PAT@165..173
131           L_PAREN@165..166 "("
132           REST_PAT@166..168
133             DOT2@166..168 ".."
134           COMMA@168..169 ","
135           WHITESPACE@169..170 " "
136           REST_PAT@170..172
137             DOT2@170..172 ".."
138           R_PAREN@172..173 ")"
139         WHITESPACE@173..174 " "
140         EQ@174..175 "="
141         WHITESPACE@175..176 " "
142         TUPLE_EXPR@176..178
143           L_PAREN@176..177 "("
144           R_PAREN@177..178 ")"
145         SEMICOLON@178..179 ";"
146       WHITESPACE@179..184 "\n    "
147       LET_STMT@184..207
148         LET_KW@184..187 "let"
149         WHITESPACE@187..188 " "
150         TUPLE_STRUCT_PAT@188..201
151           PATH@188..193
152             PATH_SEGMENT@188..193
153               NAME_REF@188..193
154                 IDENT@188..193 "Tuple"
155           L_PAREN@193..194 "("
156           REST_PAT@194..196
157             DOT2@194..196 ".."
158           COMMA@196..197 ","
159           WHITESPACE@197..198 " "
160           REST_PAT@198..200
161             DOT2@198..200 ".."
162           R_PAREN@200..201 ")"
163         WHITESPACE@201..202 " "
164         EQ@202..203 "="
165         WHITESPACE@203..204 " "
166         TUPLE_EXPR@204..206
167           L_PAREN@204..205 "("
168           R_PAREN@205..206 ")"
169         SEMICOLON@206..207 ";"
170       WHITESPACE@207..212 "\n    "
171       LET_STMT@212..233
172         LET_KW@212..215 "let"
173         WHITESPACE@215..216 " "
174         TUPLE_PAT@216..227
175           L_PAREN@216..217 "("
176           REST_PAT@217..219
177             DOT2@217..219 ".."
178           COMMA@219..220 ","
179           WHITESPACE@220..221 " "
180           IDENT_PAT@221..222
181             NAME@221..222
182               IDENT@221..222 "a"
183           COMMA@222..223 ","
184           WHITESPACE@223..224 " "
185           REST_PAT@224..226
186             DOT2@224..226 ".."
187           R_PAREN@226..227 ")"
188         WHITESPACE@227..228 " "
189         EQ@228..229 "="
190         WHITESPACE@229..230 " "
191         TUPLE_EXPR@230..232
192           L_PAREN@230..231 "("
193           R_PAREN@231..232 ")"
194         SEMICOLON@232..233 ";"
195       WHITESPACE@233..238 "\n    "
196       LET_STMT@238..264
197         LET_KW@238..241 "let"
198         WHITESPACE@241..242 " "
199         TUPLE_STRUCT_PAT@242..258
200           PATH@242..247
201             PATH_SEGMENT@242..247
202               NAME_REF@242..247
203                 IDENT@242..247 "Tuple"
204           L_PAREN@247..248 "("
205           REST_PAT@248..250
206             DOT2@248..250 ".."
207           COMMA@250..251 ","
208           WHITESPACE@251..252 " "
209           IDENT_PAT@252..253
210             NAME@252..253
211               IDENT@252..253 "a"
212           COMMA@253..254 ","
213           WHITESPACE@254..255 " "
214           REST_PAT@255..257
215             DOT2@255..257 ".."
216           R_PAREN@257..258 ")"
217         WHITESPACE@258..259 " "
218         EQ@259..260 "="
219         WHITESPACE@260..261 " "
220         TUPLE_EXPR@261..263
221           L_PAREN@261..262 "("
222           R_PAREN@262..263 ")"
223         SEMICOLON@263..264 ";"
224       WHITESPACE@264..269 "\n    "
225       COMMENT@269..271 "//"
226       WHITESPACE@271..276 "\n    "
227       COMMENT@276..285 "// Slices"
228       WHITESPACE@285..290 "\n    "
229       COMMENT@290..292 "//"
230       WHITESPACE@292..297 "\n    "
231       LET_STMT@297..311
232         LET_KW@297..300 "let"
233         WHITESPACE@300..301 " "
234         SLICE_PAT@301..305
235           L_BRACK@301..302 "["
236           REST_PAT@302..304
237             DOT2@302..304 ".."
238           R_BRACK@304..305 "]"
239         WHITESPACE@305..306 " "
240         EQ@306..307 "="
241         WHITESPACE@307..308 " "
242         TUPLE_EXPR@308..310
243           L_PAREN@308..309 "("
244           R_PAREN@309..310 ")"
245         SEMICOLON@310..311 ";"
246       WHITESPACE@311..316 "\n    "
247       LET_STMT@316..336
248         LET_KW@316..319 "let"
249         WHITESPACE@319..320 " "
250         SLICE_PAT@320..330
251           L_BRACK@320..321 "["
252           IDENT_PAT@321..325
253             NAME@321..325
254               IDENT@321..325 "head"
255           COMMA@325..326 ","
256           WHITESPACE@326..327 " "
257           REST_PAT@327..329
258             DOT2@327..329 ".."
259           R_BRACK@329..330 "]"
260         WHITESPACE@330..331 " "
261         EQ@331..332 "="
262         WHITESPACE@332..333 " "
263         TUPLE_EXPR@333..335
264           L_PAREN@333..334 "("
265           R_PAREN@334..335 ")"
266         SEMICOLON@335..336 ";"
267       WHITESPACE@336..341 "\n    "
268       LET_STMT@341..368
269         LET_KW@341..344 "let"
270         WHITESPACE@344..345 " "
271         SLICE_PAT@345..362
272           L_BRACK@345..346 "["
273           IDENT_PAT@346..350
274             NAME@346..350
275               IDENT@346..350 "head"
276           COMMA@350..351 ","
277           WHITESPACE@351..352 " "
278           IDENT_PAT@352..361
279             NAME@352..356
280               IDENT@352..356 "tail"
281             WHITESPACE@356..357 " "
282             AT@357..358 "@"
283             WHITESPACE@358..359 " "
284             REST_PAT@359..361
285               DOT2@359..361 ".."
286           R_BRACK@361..362 "]"
287         WHITESPACE@362..363 " "
288         EQ@363..364 "="
289         WHITESPACE@364..365 " "
290         TUPLE_EXPR@365..367
291           L_PAREN@365..366 "("
292           R_PAREN@366..367 ")"
293         SEMICOLON@367..368 ";"
294       WHITESPACE@368..373 "\n    "
295       LET_STMT@373..399
296         LET_KW@373..376 "let"
297         WHITESPACE@376..377 " "
298         SLICE_PAT@377..393
299           L_BRACK@377..378 "["
300           IDENT_PAT@378..382
301             NAME@378..382
302               IDENT@378..382 "head"
303           COMMA@382..383 ","
304           WHITESPACE@383..384 " "
305           REST_PAT@384..386
306             DOT2@384..386 ".."
307           COMMA@386..387 ","
308           WHITESPACE@387..388 " "
309           IDENT_PAT@388..392
310             NAME@388..392
311               IDENT@388..392 "cons"
312           R_BRACK@392..393 "]"
313         WHITESPACE@393..394 " "
314         EQ@394..395 "="
315         WHITESPACE@395..396 " "
316         TUPLE_EXPR@396..398
317           L_PAREN@396..397 "("
318           R_PAREN@397..398 ")"
319         SEMICOLON@398..399 ";"
320       WHITESPACE@399..404 "\n    "
321       LET_STMT@404..436
322         LET_KW@404..407 "let"
323         WHITESPACE@407..408 " "
324         SLICE_PAT@408..430
325           L_BRACK@408..409 "["
326           IDENT_PAT@409..413
327             NAME@409..413
328               IDENT@409..413 "head"
329           COMMA@413..414 ","
330           WHITESPACE@414..415 " "
331           IDENT_PAT@415..423
332             NAME@415..418
333               IDENT@415..418 "mid"
334             WHITESPACE@418..419 " "
335             AT@419..420 "@"
336             WHITESPACE@420..421 " "
337             REST_PAT@421..423
338               DOT2@421..423 ".."
339           COMMA@423..424 ","
340           WHITESPACE@424..425 " "
341           IDENT_PAT@425..429
342             NAME@425..429
343               IDENT@425..429 "cons"
344           R_BRACK@429..430 "]"
345         WHITESPACE@430..431 " "
346         EQ@431..432 "="
347         WHITESPACE@432..433 " "
348         TUPLE_EXPR@433..435
349           L_PAREN@433..434 "("
350           R_PAREN@434..435 ")"
351         SEMICOLON@435..436 ";"
352       WHITESPACE@436..441 "\n    "
353       LET_STMT@441..471
354         LET_KW@441..444 "let"
355         WHITESPACE@444..445 " "
356         SLICE_PAT@445..465
357           L_BRACK@445..446 "["
358           IDENT_PAT@446..450
359             NAME@446..450
360               IDENT@446..450 "head"
361           COMMA@450..451 ","
362           WHITESPACE@451..452 " "
363           REST_PAT@452..454
364             DOT2@452..454 ".."
365           COMMA@454..455 ","
366           WHITESPACE@455..456 " "
367           REST_PAT@456..458
368             DOT2@456..458 ".."
369           COMMA@458..459 ","
370           WHITESPACE@459..460 " "
371           IDENT_PAT@460..464
372             NAME@460..464
373               IDENT@460..464 "cons"
374           R_BRACK@464..465 "]"
375         WHITESPACE@465..466 " "
376         EQ@466..467 "="
377         WHITESPACE@467..468 " "
378         TUPLE_EXPR@468..470
379           L_PAREN@468..469 "("
380           R_PAREN@469..470 ")"
381         SEMICOLON@470..471 ";"
382       WHITESPACE@471..476 "\n    "
383       LET_STMT@476..512
384         LET_KW@476..479 "let"
385         WHITESPACE@479..480 " "
386         SLICE_PAT@480..506
387           L_BRACK@480..481 "["
388           IDENT_PAT@481..485
389             NAME@481..485
390               IDENT@481..485 "head"
391           COMMA@485..486 ","
392           WHITESPACE@486..487 " "
393           REST_PAT@487..489
394             DOT2@487..489 ".."
395           COMMA@489..490 ","
396           WHITESPACE@490..491 " "
397           IDENT_PAT@491..494
398             NAME@491..494
399               IDENT@491..494 "mid"
400           COMMA@494..495 ","
401           WHITESPACE@495..496 " "
402           IDENT_PAT@496..505
403             NAME@496..500
404               IDENT@496..500 "tail"
405             WHITESPACE@500..501 " "
406             AT@501..502 "@"
407             WHITESPACE@502..503 " "
408             REST_PAT@503..505
409               DOT2@503..505 ".."
410           R_BRACK@505..506 "]"
411         WHITESPACE@506..507 " "
412         EQ@507..508 "="
413         WHITESPACE@508..509 " "
414         TUPLE_EXPR@509..511
415           L_PAREN@509..510 "("
416           R_PAREN@510..511 ")"
417         SEMICOLON@511..512 ";"
418       WHITESPACE@512..517 "\n    "
419       LET_STMT@517..552
420         LET_KW@517..520 "let"
421         WHITESPACE@520..521 " "
422         SLICE_PAT@521..546
423           L_BRACK@521..522 "["
424           IDENT_PAT@522..526
425             NAME@522..526
426               IDENT@522..526 "head"
427           COMMA@526..527 ","
428           WHITESPACE@527..528 " "
429           REST_PAT@528..530
430             DOT2@528..530 ".."
431           COMMA@530..531 ","
432           WHITESPACE@531..532 " "
433           IDENT_PAT@532..535
434             NAME@532..535
435               IDENT@532..535 "mid"
436           COMMA@535..536 ","
437           WHITESPACE@536..537 " "
438           REST_PAT@537..539
439             DOT2@537..539 ".."
440           COMMA@539..540 ","
441           WHITESPACE@540..541 " "
442           IDENT_PAT@541..545
443             NAME@541..545
444               IDENT@541..545 "cons"
445           R_BRACK@545..546 "]"
446         WHITESPACE@546..547 " "
447         EQ@547..548 "="
448         WHITESPACE@548..549 " "
449         TUPLE_EXPR@549..551
450           L_PAREN@549..550 "("
451           R_PAREN@550..551 ")"
452         SEMICOLON@551..552 ";"
453       WHITESPACE@552..553 "\n"
454       R_CURLY@553..554 "}"
455   WHITESPACE@554..555 "\n"