aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-07-24 10:38:21 +0100
committerAleksey Kladov <[email protected]>2019-07-24 10:49:19 +0100
commit459241f272748ff2e57b2c7e84f5a04f78d67edb (patch)
tree2353f8f068962313d0b2748aab58b71c4ca456d2 /crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt
parent4d544fbf9b664b6a29d358d3cb41cdd7cd15e4d6 (diff)
move syntax tests to unit tests
Diffstat (limited to 'crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt')
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt2285
1 files changed, 2285 insertions, 0 deletions
diff --git a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt
new file mode 100644
index 000000000..c89b591e9
--- /dev/null
+++ b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt
@@ -0,0 +1,2285 @@
1SOURCE_FILE@[0; 3813)
2 COMMENT@[0; 55) "//! Adapted from a `r ..."
3 WHITESPACE@[55; 56) "\n"
4 COMMENT@[56; 173) "//! https://github.co ..."
5 WHITESPACE@[173; 174) "\n"
6 COMMENT@[174; 178) "//! "
7 WHITESPACE@[178; 179) "\n"
8 COMMENT@[179; 269) "//! Reported to rust- ..."
9 WHITESPACE@[269; 271) "\n\n"
10 ATTR@[271; 302)
11 POUND@[271; 272) "#"
12 EXCL@[272; 273) "!"
13 TOKEN_TREE@[273; 302)
14 L_BRACK@[273; 274) "["
15 IDENT@[274; 279) "allow"
16 TOKEN_TREE@[279; 301)
17 L_PAREN@[279; 280) "("
18 IDENT@[280; 300) "non_camel_case_types"
19 R_PAREN@[300; 301) ")"
20 R_BRACK@[301; 302) "]"
21 WHITESPACE@[302; 303) "\n"
22 ATTR@[303; 323)
23 POUND@[303; 304) "#"
24 EXCL@[304; 305) "!"
25 TOKEN_TREE@[305; 323)
26 L_BRACK@[305; 306) "["
27 IDENT@[306; 311) "allow"
28 TOKEN_TREE@[311; 322)
29 L_PAREN@[311; 312) "("
30 IDENT@[312; 321) "dead_code"
31 R_PAREN@[321; 322) ")"
32 R_BRACK@[322; 323) "]"
33 WHITESPACE@[323; 324) "\n"
34 ATTR@[324; 351)
35 POUND@[324; 325) "#"
36 EXCL@[325; 326) "!"
37 TOKEN_TREE@[326; 351)
38 L_BRACK@[326; 327) "["
39 IDENT@[327; 332) "allow"
40 TOKEN_TREE@[332; 350)
41 L_PAREN@[332; 333) "("
42 IDENT@[333; 349) "unreachable_code"
43 R_PAREN@[349; 350) ")"
44 R_BRACK@[350; 351) "]"
45 WHITESPACE@[351; 352) "\n"
46 ATTR@[352; 376)
47 POUND@[352; 353) "#"
48 EXCL@[353; 354) "!"
49 TOKEN_TREE@[354; 376)
50 L_BRACK@[354; 355) "["
51 IDENT@[355; 360) "allow"
52 TOKEN_TREE@[360; 375)
53 L_PAREN@[360; 361) "("
54 IDENT@[361; 374) "unused_parens"
55 R_PAREN@[374; 375) ")"
56 R_BRACK@[375; 376) "]"
57 WHITESPACE@[376; 378) "\n\n"
58 ATTR@[378; 405)
59 POUND@[378; 379) "#"
60 EXCL@[379; 380) "!"
61 TOKEN_TREE@[380; 405)
62 L_BRACK@[380; 381) "["
63 IDENT@[381; 396) "recursion_limit"
64 WHITESPACE@[396; 397) " "
65 EQ@[397; 398) "="
66 WHITESPACE@[398; 399) " "
67 STRING@[399; 404) "\"128\""
68 R_BRACK@[404; 405) "]"
69 WHITESPACE@[405; 407) "\n\n"
70 USE_ITEM@[407; 427)
71 USE_KW@[407; 410) "use"
72 WHITESPACE@[410; 411) " "
73 USE_TREE@[411; 426)
74 PATH@[411; 426)
75 PATH@[411; 420)
76 PATH@[411; 414)
77 PATH_SEGMENT@[411; 414)
78 NAME_REF@[411; 414)
79 IDENT@[411; 414) "std"
80 COLONCOLON@[414; 416) "::"
81 PATH_SEGMENT@[416; 420)
82 NAME_REF@[416; 420)
83 IDENT@[416; 420) "cell"
84 COLONCOLON@[420; 422) "::"
85 PATH_SEGMENT@[422; 426)
86 NAME_REF@[422; 426)
87 IDENT@[422; 426) "Cell"
88 SEMI@[426; 427) ";"
89 WHITESPACE@[427; 428) "\n"
90 USE_ITEM@[428; 447)
91 USE_KW@[428; 431) "use"
92 WHITESPACE@[431; 432) " "
93 USE_TREE@[432; 446)
94 PATH@[432; 446)
95 PATH@[432; 440)
96 PATH@[432; 435)
97 PATH_SEGMENT@[432; 435)
98 NAME_REF@[432; 435)
99 IDENT@[432; 435) "std"
100 COLONCOLON@[435; 437) "::"
101 PATH_SEGMENT@[437; 440)
102 NAME_REF@[437; 440)
103 IDENT@[437; 440) "mem"
104 COLONCOLON@[440; 442) "::"
105 PATH_SEGMENT@[442; 446)
106 NAME_REF@[442; 446)
107 IDENT@[442; 446) "swap"
108 SEMI@[446; 447) ";"
109 WHITESPACE@[447; 449) "\n\n"
110 COMMENT@[449; 518) "// Just a grab bag of ..."
111 WHITESPACE@[518; 520) "\n\n"
112 FN_DEF@[520; 572)
113 FN_KW@[520; 522) "fn"
114 WHITESPACE@[522; 523) " "
115 NAME@[523; 530)
116 IDENT@[523; 530) "strange"
117 PARAM_LIST@[530; 532)
118 L_PAREN@[530; 531) "("
119 R_PAREN@[531; 532) ")"
120 WHITESPACE@[532; 533) " "
121 RET_TYPE@[533; 540)
122 THIN_ARROW@[533; 535) "->"
123 WHITESPACE@[535; 536) " "
124 PATH_TYPE@[536; 540)
125 PATH@[536; 540)
126 PATH_SEGMENT@[536; 540)
127 NAME_REF@[536; 540)
128 IDENT@[536; 540) "bool"
129 WHITESPACE@[540; 541) " "
130 BLOCK@[541; 572)
131 L_CURLY@[541; 542) "{"
132 WHITESPACE@[542; 543) " "
133 LET_STMT@[543; 570)
134 LET_KW@[543; 546) "let"
135 WHITESPACE@[546; 547) " "
136 BIND_PAT@[547; 549)
137 NAME@[547; 549)
138 IDENT@[547; 549) "_x"
139 COLON@[549; 550) ":"
140 WHITESPACE@[550; 551) " "
141 PATH_TYPE@[551; 555)
142 PATH@[551; 555)
143 PATH_SEGMENT@[551; 555)
144 NAME_REF@[551; 555)
145 IDENT@[551; 555) "bool"
146 WHITESPACE@[555; 556) " "
147 EQ@[556; 557) "="
148 WHITESPACE@[557; 558) " "
149 RETURN_EXPR@[558; 569)
150 RETURN_KW@[558; 564) "return"
151 WHITESPACE@[564; 565) " "
152 LITERAL@[565; 569)
153 TRUE_KW@[565; 569) "true"
154 SEMI@[569; 570) ";"
155 WHITESPACE@[570; 571) " "
156 R_CURLY@[571; 572) "}"
157 WHITESPACE@[572; 574) "\n\n"
158 FN_DEF@[574; 624)
159 FN_KW@[574; 576) "fn"
160 WHITESPACE@[576; 577) " "
161 NAME@[577; 582)
162 IDENT@[577; 582) "funny"
163 PARAM_LIST@[582; 584)
164 L_PAREN@[582; 583) "("
165 R_PAREN@[583; 584) ")"
166 WHITESPACE@[584; 585) " "
167 BLOCK@[585; 624)
168 L_CURLY@[585; 586) "{"
169 WHITESPACE@[586; 591) "\n "
170 FN_DEF@[591; 607)
171 FN_KW@[591; 593) "fn"
172 WHITESPACE@[593; 594) " "
173 NAME@[594; 595)
174 IDENT@[594; 595) "f"
175 PARAM_LIST@[595; 603)
176 L_PAREN@[595; 596) "("
177 PARAM@[596; 602)
178 BIND_PAT@[596; 598)
179 NAME@[596; 598)
180 IDENT@[596; 598) "_x"
181 COLON@[598; 599) ":"
182 WHITESPACE@[599; 600) " "
183 TUPLE_TYPE@[600; 602)
184 L_PAREN@[600; 601) "("
185 R_PAREN@[601; 602) ")"
186 R_PAREN@[602; 603) ")"
187 WHITESPACE@[603; 604) " "
188 BLOCK@[604; 607)
189 L_CURLY@[604; 605) "{"
190 WHITESPACE@[605; 606) " "
191 R_CURLY@[606; 607) "}"
192 WHITESPACE@[607; 612) "\n "
193 EXPR_STMT@[612; 622)
194 CALL_EXPR@[612; 621)
195 PATH_EXPR@[612; 613)
196 PATH@[612; 613)
197 PATH_SEGMENT@[612; 613)
198 NAME_REF@[612; 613)
199 IDENT@[612; 613) "f"
200 ARG_LIST@[613; 621)
201 L_PAREN@[613; 614) "("
202 RETURN_EXPR@[614; 620)
203 RETURN_KW@[614; 620) "return"
204 R_PAREN@[620; 621) ")"
205 SEMI@[621; 622) ";"
206 WHITESPACE@[622; 623) "\n"
207 R_CURLY@[623; 624) "}"
208 WHITESPACE@[624; 626) "\n\n"
209 FN_DEF@[626; 816)
210 FN_KW@[626; 628) "fn"
211 WHITESPACE@[628; 629) " "
212 NAME@[629; 633)
213 IDENT@[629; 633) "what"
214 PARAM_LIST@[633; 635)
215 L_PAREN@[633; 634) "("
216 R_PAREN@[634; 635) ")"
217 WHITESPACE@[635; 636) " "
218 BLOCK@[636; 816)
219 L_CURLY@[636; 637) "{"
220 WHITESPACE@[637; 642) "\n "
221 FN_DEF@[642; 720)
222 FN_KW@[642; 644) "fn"
223 WHITESPACE@[644; 645) " "
224 NAME@[645; 648)
225 IDENT@[645; 648) "the"
226 PARAM_LIST@[648; 664)
227 L_PAREN@[648; 649) "("
228 PARAM@[649; 663)
229 BIND_PAT@[649; 650)
230 NAME@[649; 650)
231 IDENT@[649; 650) "x"
232 COLON@[650; 651) ":"
233 WHITESPACE@[651; 652) " "
234 REFERENCE_TYPE@[652; 663)
235 AMP@[652; 653) "&"
236 PATH_TYPE@[653; 663)
237 PATH@[653; 663)
238 PATH_SEGMENT@[653; 663)
239 NAME_REF@[653; 657)
240 IDENT@[653; 657) "Cell"
241 TYPE_ARG_LIST@[657; 663)
242 L_ANGLE@[657; 658) "<"
243 TYPE_ARG@[658; 662)
244 PATH_TYPE@[658; 662)
245 PATH@[658; 662)
246 PATH_SEGMENT@[658; 662)
247 NAME_REF@[658; 662)
248 IDENT@[658; 662) "bool"
249 R_ANGLE@[662; 663) ">"
250 R_PAREN@[663; 664) ")"
251 WHITESPACE@[664; 665) " "
252 BLOCK@[665; 720)
253 L_CURLY@[665; 666) "{"
254 WHITESPACE@[666; 675) "\n "
255 EXPR_STMT@[675; 714)
256 RETURN_EXPR@[675; 713)
257 RETURN_KW@[675; 681) "return"
258 WHITESPACE@[681; 682) " "
259 WHILE_EXPR@[682; 713)
260 WHILE_KW@[682; 687) "while"
261 WHITESPACE@[687; 688) " "
262 CONDITION@[688; 696)
263 PREFIX_EXPR@[688; 696)
264 EXCL@[688; 689) "!"
265 METHOD_CALL_EXPR@[689; 696)
266 PATH_EXPR@[689; 690)
267 PATH@[689; 690)
268 PATH_SEGMENT@[689; 690)
269 NAME_REF@[689; 690)
270 IDENT@[689; 690) "x"
271 DOT@[690; 691) "."
272 NAME_REF@[691; 694)
273 IDENT@[691; 694) "get"
274 ARG_LIST@[694; 696)
275 L_PAREN@[694; 695) "("
276 R_PAREN@[695; 696) ")"
277 WHITESPACE@[696; 697) " "
278 BLOCK@[697; 713)
279 L_CURLY@[697; 698) "{"
280 WHITESPACE@[698; 699) " "
281 EXPR_STMT@[699; 711)
282 METHOD_CALL_EXPR@[699; 710)
283 PATH_EXPR@[699; 700)
284 PATH@[699; 700)
285 PATH_SEGMENT@[699; 700)
286 NAME_REF@[699; 700)
287 IDENT@[699; 700) "x"
288 DOT@[700; 701) "."
289 NAME_REF@[701; 704)
290 IDENT@[701; 704) "set"
291 ARG_LIST@[704; 710)
292 L_PAREN@[704; 705) "("
293 LITERAL@[705; 709)
294 TRUE_KW@[705; 709) "true"
295 R_PAREN@[709; 710) ")"
296 SEMI@[710; 711) ";"
297 WHITESPACE@[711; 712) " "
298 R_CURLY@[712; 713) "}"
299 SEMI@[713; 714) ";"
300 WHITESPACE@[714; 719) "\n "
301 R_CURLY@[719; 720) "}"
302 WHITESPACE@[720; 725) "\n "
303 LET_STMT@[725; 751)
304 LET_KW@[725; 728) "let"
305 WHITESPACE@[728; 729) " "
306 BIND_PAT@[729; 730)
307 NAME@[729; 730)
308 IDENT@[729; 730) "i"
309 WHITESPACE@[730; 731) " "
310 EQ@[731; 732) "="
311 WHITESPACE@[732; 733) " "
312 REF_EXPR@[733; 750)
313 AMP@[733; 734) "&"
314 CALL_EXPR@[734; 750)
315 PATH_EXPR@[734; 743)
316 PATH@[734; 743)
317 PATH@[734; 738)
318 PATH_SEGMENT@[734; 738)
319 NAME_REF@[734; 738)
320 IDENT@[734; 738) "Cell"
321 COLONCOLON@[738; 740) "::"
322 PATH_SEGMENT@[740; 743)
323 NAME_REF@[740; 743)
324 IDENT@[740; 743) "new"
325 ARG_LIST@[743; 750)
326 L_PAREN@[743; 744) "("
327 LITERAL@[744; 749)
328 FALSE_KW@[744; 749) "false"
329 R_PAREN@[749; 750) ")"
330 SEMI@[750; 751) ";"
331 WHITESPACE@[751; 756) "\n "
332 LET_STMT@[756; 778)
333 LET_KW@[756; 759) "let"
334 WHITESPACE@[759; 760) " "
335 BIND_PAT@[760; 764)
336 NAME@[760; 764)
337 IDENT@[760; 764) "dont"
338 WHITESPACE@[764; 765) " "
339 EQ@[765; 766) "="
340 WHITESPACE@[766; 767) " "
341 BLOCK_EXPR@[767; 777)
342 BLOCK@[767; 777)
343 L_CURLY@[767; 768) "{"
344 LAMBDA_EXPR@[768; 776)
345 PARAM_LIST@[768; 770)
346 PIPE@[768; 769) "|"
347 PIPE@[769; 770) "|"
348 CALL_EXPR@[770; 776)
349 PATH_EXPR@[770; 773)
350 PATH@[770; 773)
351 PATH_SEGMENT@[770; 773)
352 NAME_REF@[770; 773)
353 IDENT@[770; 773) "the"
354 ARG_LIST@[773; 776)
355 L_PAREN@[773; 774) "("
356 PATH_EXPR@[774; 775)
357 PATH@[774; 775)
358 PATH_SEGMENT@[774; 775)
359 NAME_REF@[774; 775)
360 IDENT@[774; 775) "i"
361 R_PAREN@[775; 776) ")"
362 R_CURLY@[776; 777) "}"
363 SEMI@[777; 778) ";"
364 WHITESPACE@[778; 783) "\n "
365 EXPR_STMT@[783; 790)
366 CALL_EXPR@[783; 789)
367 PATH_EXPR@[783; 787)
368 PATH@[783; 787)
369 PATH_SEGMENT@[783; 787)
370 NAME_REF@[783; 787)
371 IDENT@[783; 787) "dont"
372 ARG_LIST@[787; 789)
373 L_PAREN@[787; 788) "("
374 R_PAREN@[788; 789) ")"
375 SEMI@[789; 790) ";"
376 WHITESPACE@[790; 795) "\n "
377 EXPR_STMT@[795; 814)
378 MACRO_CALL@[795; 813)
379 PATH@[795; 801)
380 PATH_SEGMENT@[795; 801)
381 NAME_REF@[795; 801)
382 IDENT@[795; 801) "assert"
383 EXCL@[801; 802) "!"
384 TOKEN_TREE@[802; 813)
385 L_PAREN@[802; 803) "("
386 TOKEN_TREE@[803; 812)
387 L_PAREN@[803; 804) "("
388 IDENT@[804; 805) "i"
389 DOT@[805; 806) "."
390 IDENT@[806; 809) "get"
391 TOKEN_TREE@[809; 811)
392 L_PAREN@[809; 810) "("
393 R_PAREN@[810; 811) ")"
394 R_PAREN@[811; 812) ")"
395 R_PAREN@[812; 813) ")"
396 SEMI@[813; 814) ";"
397 WHITESPACE@[814; 815) "\n"
398 R_CURLY@[815; 816) "}"
399 WHITESPACE@[816; 818) "\n\n"
400 FN_DEF@[818; 1322)
401 FN_KW@[818; 820) "fn"
402 WHITESPACE@[820; 821) " "
403 NAME@[821; 832)
404 IDENT@[821; 832) "zombiejesus"
405 PARAM_LIST@[832; 834)
406 L_PAREN@[832; 833) "("
407 R_PAREN@[833; 834) ")"
408 WHITESPACE@[834; 835) " "
409 BLOCK@[835; 1322)
410 L_CURLY@[835; 836) "{"
411 WHITESPACE@[836; 841) "\n "
412 LOOP_EXPR@[841; 1320)
413 LOOP_KW@[841; 845) "loop"
414 WHITESPACE@[845; 846) " "
415 BLOCK@[846; 1320)
416 L_CURLY@[846; 847) "{"
417 WHITESPACE@[847; 856) "\n "
418 EXPR_STMT@[856; 1283)
419 WHILE_EXPR@[856; 1283)
420 WHILE_KW@[856; 861) "while"
421 WHITESPACE@[861; 862) " "
422 CONDITION@[862; 870)
423 PAREN_EXPR@[862; 870)
424 L_PAREN@[862; 863) "("
425 RETURN_EXPR@[863; 869)
426 RETURN_KW@[863; 869) "return"
427 R_PAREN@[869; 870) ")"
428 WHITESPACE@[870; 871) " "
429 BLOCK@[871; 1283)
430 L_CURLY@[871; 872) "{"
431 WHITESPACE@[872; 885) "\n "
432 IF_EXPR@[885; 1273)
433 IF_KW@[885; 887) "if"
434 WHITESPACE@[887; 888) " "
435 CONDITION@[888; 896)
436 PAREN_EXPR@[888; 896)
437 L_PAREN@[888; 889) "("
438 RETURN_EXPR@[889; 895)
439 RETURN_KW@[889; 895) "return"
440 R_PAREN@[895; 896) ")"
441 WHITESPACE@[896; 897) " "
442 BLOCK@[897; 1216)
443 L_CURLY@[897; 898) "{"
444 WHITESPACE@[898; 915) "\n "
445 EXPR_STMT@[915; 1202)
446 MATCH_EXPR@[915; 1201)
447 MATCH_KW@[915; 920) "match"
448 WHITESPACE@[920; 921) " "
449 PAREN_EXPR@[921; 929)
450 L_PAREN@[921; 922) "("
451 RETURN_EXPR@[922; 928)
452 RETURN_KW@[922; 928) "return"
453 R_PAREN@[928; 929) ")"
454 WHITESPACE@[929; 930) " "
455 MATCH_ARM_LIST@[930; 1201)
456 L_CURLY@[930; 931) "{"
457 WHITESPACE@[931; 952) "\n "
458 MATCH_ARM@[952; 1147)
459 LITERAL_PAT@[952; 953)
460 LITERAL@[952; 953)
461 INT_NUMBER@[952; 953) "1"
462 WHITESPACE@[953; 954) " "
463 FAT_ARROW@[954; 956) "=>"
464 WHITESPACE@[956; 957) " "
465 BLOCK_EXPR@[957; 1147)
466 BLOCK@[957; 1147)
467 L_CURLY@[957; 958) "{"
468 WHITESPACE@[958; 983) "\n ..."
469 IF_EXPR@[983; 1125)
470 IF_KW@[983; 985) "if"
471 WHITESPACE@[985; 986) " "
472 CONDITION@[986; 994)
473 PAREN_EXPR@[986; 994)
474 L_PAREN@[986; 987) "("
475 RETURN_EXPR@[987; 993)
476 RETURN_KW@[987; 993) "return"
477 R_PAREN@[993; 994) ")"
478 WHITESPACE@[994; 995) " "
479 BLOCK@[995; 1057)
480 L_CURLY@[995; 996) "{"
481 WHITESPACE@[996; 1025) "\n ..."
482 RETURN_EXPR@[1025; 1031)
483 RETURN_KW@[1025; 1031) "return"
484 WHITESPACE@[1031; 1056) "\n ..."
485 R_CURLY@[1056; 1057) "}"
486 WHITESPACE@[1057; 1058) " "
487 ELSE_KW@[1058; 1062) "else"
488 WHITESPACE@[1062; 1063) " "
489 BLOCK@[1063; 1125)
490 L_CURLY@[1063; 1064) "{"
491 WHITESPACE@[1064; 1093) "\n ..."
492 RETURN_EXPR@[1093; 1099)
493 RETURN_KW@[1093; 1099) "return"
494 WHITESPACE@[1099; 1124) "\n ..."
495 R_CURLY@[1124; 1125) "}"
496 WHITESPACE@[1125; 1146) "\n "
497 R_CURLY@[1146; 1147) "}"
498 WHITESPACE@[1147; 1168) "\n "
499 MATCH_ARM@[1168; 1183)
500 PLACEHOLDER_PAT@[1168; 1169)
501 UNDERSCORE@[1168; 1169) "_"
502 WHITESPACE@[1169; 1170) " "
503 FAT_ARROW@[1170; 1172) "=>"
504 WHITESPACE@[1172; 1173) " "
505 BLOCK_EXPR@[1173; 1183)
506 BLOCK@[1173; 1183)
507 L_CURLY@[1173; 1174) "{"
508 WHITESPACE@[1174; 1175) " "
509 RETURN_EXPR@[1175; 1181)
510 RETURN_KW@[1175; 1181) "return"
511 WHITESPACE@[1181; 1182) " "
512 R_CURLY@[1182; 1183) "}"
513 WHITESPACE@[1183; 1200) "\n "
514 R_CURLY@[1200; 1201) "}"
515 SEMI@[1201; 1202) ";"
516 WHITESPACE@[1202; 1215) "\n "
517 R_CURLY@[1215; 1216) "}"
518 WHITESPACE@[1216; 1217) " "
519 ELSE_KW@[1217; 1221) "else"
520 WHITESPACE@[1221; 1222) " "
521 IF_EXPR@[1222; 1273)
522 IF_KW@[1222; 1224) "if"
523 WHITESPACE@[1224; 1225) " "
524 CONDITION@[1225; 1233)
525 PAREN_EXPR@[1225; 1233)
526 L_PAREN@[1225; 1226) "("
527 RETURN_EXPR@[1226; 1232)
528 RETURN_KW@[1226; 1232) "return"
529 R_PAREN@[1232; 1233) ")"
530 WHITESPACE@[1233; 1234) " "
531 BLOCK@[1234; 1273)
532 L_CURLY@[1234; 1235) "{"
533 WHITESPACE@[1235; 1252) "\n "
534 EXPR_STMT@[1252; 1259)
535 RETURN_EXPR@[1252; 1258)
536 RETURN_KW@[1252; 1258) "return"
537 SEMI@[1258; 1259) ";"
538 WHITESPACE@[1259; 1272) "\n "
539 R_CURLY@[1272; 1273) "}"
540 WHITESPACE@[1273; 1282) "\n "
541 R_CURLY@[1282; 1283) "}"
542 WHITESPACE@[1283; 1292) "\n "
543 IF_EXPR@[1292; 1314)
544 IF_KW@[1292; 1294) "if"
545 WHITESPACE@[1294; 1295) " "
546 CONDITION@[1295; 1303)
547 PAREN_EXPR@[1295; 1303)
548 L_PAREN@[1295; 1296) "("
549 RETURN_EXPR@[1296; 1302)
550 RETURN_KW@[1296; 1302) "return"
551 R_PAREN@[1302; 1303) ")"
552 WHITESPACE@[1303; 1304) " "
553 BLOCK@[1304; 1314)
554 L_CURLY@[1304; 1305) "{"
555 WHITESPACE@[1305; 1306) " "
556 EXPR_STMT@[1306; 1312)
557 BREAK_EXPR@[1306; 1311)
558 BREAK_KW@[1306; 1311) "break"
559 SEMI@[1311; 1312) ";"
560 WHITESPACE@[1312; 1313) " "
561 R_CURLY@[1313; 1314) "}"
562 WHITESPACE@[1314; 1319) "\n "
563 R_CURLY@[1319; 1320) "}"
564 WHITESPACE@[1320; 1321) "\n"
565 R_CURLY@[1321; 1322) "}"
566 WHITESPACE@[1322; 1324) "\n\n"
567 FN_DEF@[1324; 1539)
568 FN_KW@[1324; 1326) "fn"
569 WHITESPACE@[1326; 1327) " "
570 NAME@[1327; 1334)
571 IDENT@[1327; 1334) "notsure"
572 PARAM_LIST@[1334; 1336)
573 L_PAREN@[1334; 1335) "("
574 R_PAREN@[1335; 1336) ")"
575 WHITESPACE@[1336; 1337) " "
576 BLOCK@[1337; 1539)
577 L_CURLY@[1337; 1338) "{"
578 WHITESPACE@[1338; 1343) "\n "
579 LET_STMT@[1343; 1361)
580 LET_KW@[1343; 1346) "let"
581 WHITESPACE@[1346; 1347) " "
582 BIND_PAT@[1347; 1353)
583 MUT_KW@[1347; 1350) "mut"
584 WHITESPACE@[1350; 1351) " "
585 NAME@[1351; 1353)
586 IDENT@[1351; 1353) "_x"
587 COLON@[1353; 1354) ":"
588 WHITESPACE@[1354; 1355) " "
589 PATH_TYPE@[1355; 1360)
590 PATH@[1355; 1360)
591 PATH_SEGMENT@[1355; 1360)
592 NAME_REF@[1355; 1360)
593 IDENT@[1355; 1360) "isize"
594 SEMI@[1360; 1361) ";"
595 WHITESPACE@[1361; 1366) "\n "
596 LET_STMT@[1366; 1400)
597 LET_KW@[1366; 1369) "let"
598 WHITESPACE@[1369; 1370) " "
599 BIND_PAT@[1370; 1376)
600 MUT_KW@[1370; 1373) "mut"
601 WHITESPACE@[1373; 1374) " "
602 NAME@[1374; 1376)
603 IDENT@[1374; 1376) "_y"
604 WHITESPACE@[1376; 1377) " "
605 EQ@[1377; 1378) "="
606 WHITESPACE@[1378; 1379) " "
607 BIN_EXPR@[1379; 1399)
608 PAREN_EXPR@[1379; 1387)
609 L_PAREN@[1379; 1380) "("
610 BIN_EXPR@[1380; 1386)
611 PATH_EXPR@[1380; 1382)
612 PATH@[1380; 1382)
613 PATH_SEGMENT@[1380; 1382)
614 NAME_REF@[1380; 1382)
615 IDENT@[1380; 1382) "_x"
616 WHITESPACE@[1382; 1383) " "
617 EQ@[1383; 1384) "="
618 WHITESPACE@[1384; 1385) " "
619 LITERAL@[1385; 1386)
620 INT_NUMBER@[1385; 1386) "0"
621 R_PAREN@[1386; 1387) ")"
622 WHITESPACE@[1387; 1388) " "
623 EQEQ@[1388; 1390) "=="
624 WHITESPACE@[1390; 1391) " "
625 PAREN_EXPR@[1391; 1399)
626 L_PAREN@[1391; 1392) "("
627 BIN_EXPR@[1392; 1398)
628 PATH_EXPR@[1392; 1394)
629 PATH@[1392; 1394)
630 PATH_SEGMENT@[1392; 1394)
631 NAME_REF@[1392; 1394)
632 IDENT@[1392; 1394) "_x"
633 WHITESPACE@[1394; 1395) " "
634 EQ@[1395; 1396) "="
635 WHITESPACE@[1396; 1397) " "
636 LITERAL@[1397; 1398)
637 INT_NUMBER@[1397; 1398) "0"
638 R_PAREN@[1398; 1399) ")"
639 SEMI@[1399; 1400) ";"
640 WHITESPACE@[1400; 1405) "\n "
641 LET_STMT@[1405; 1438)
642 LET_KW@[1405; 1408) "let"
643 WHITESPACE@[1408; 1409) " "
644 BIND_PAT@[1409; 1415)
645 MUT_KW@[1409; 1412) "mut"
646 WHITESPACE@[1412; 1413) " "
647 NAME@[1413; 1415)
648 IDENT@[1413; 1415) "_z"
649 WHITESPACE@[1415; 1416) " "
650 EQ@[1416; 1417) "="
651 WHITESPACE@[1417; 1418) " "
652 BIN_EXPR@[1418; 1437)
653 PAREN_EXPR@[1418; 1426)
654 L_PAREN@[1418; 1419) "("
655 BIN_EXPR@[1419; 1425)
656 PATH_EXPR@[1419; 1421)
657 PATH@[1419; 1421)
658 PATH_SEGMENT@[1419; 1421)
659 NAME_REF@[1419; 1421)
660 IDENT@[1419; 1421) "_x"
661 WHITESPACE@[1421; 1422) " "
662 EQ@[1422; 1423) "="
663 WHITESPACE@[1423; 1424) " "
664 LITERAL@[1424; 1425)
665 INT_NUMBER@[1424; 1425) "0"
666 R_PAREN@[1425; 1426) ")"
667 WHITESPACE@[1426; 1427) " "
668 L_ANGLE@[1427; 1428) "<"
669 WHITESPACE@[1428; 1429) " "
670 PAREN_EXPR@[1429; 1437)
671 L_PAREN@[1429; 1430) "("
672 BIN_EXPR@[1430; 1436)
673 PATH_EXPR@[1430; 1432)
674 PATH@[1430; 1432)
675 PATH_SEGMENT@[1430; 1432)
676 NAME_REF@[1430; 1432)
677 IDENT@[1430; 1432) "_x"
678 WHITESPACE@[1432; 1433) " "
679 EQ@[1433; 1434) "="
680 WHITESPACE@[1434; 1435) " "
681 LITERAL@[1435; 1436)
682 INT_NUMBER@[1435; 1436) "0"
683 R_PAREN@[1436; 1437) ")"
684 SEMI@[1437; 1438) ";"
685 WHITESPACE@[1438; 1443) "\n "
686 LET_STMT@[1443; 1474)
687 LET_KW@[1443; 1446) "let"
688 WHITESPACE@[1446; 1447) " "
689 BIND_PAT@[1447; 1449)
690 NAME@[1447; 1449)
691 IDENT@[1447; 1449) "_a"
692 WHITESPACE@[1449; 1450) " "
693 EQ@[1450; 1451) "="
694 WHITESPACE@[1451; 1452) " "
695 BIN_EXPR@[1452; 1473)
696 PAREN_EXPR@[1452; 1461)
697 L_PAREN@[1452; 1453) "("
698 BIN_EXPR@[1453; 1460)
699 PATH_EXPR@[1453; 1455)
700 PATH@[1453; 1455)
701 PATH_SEGMENT@[1453; 1455)
702 NAME_REF@[1453; 1455)
703 IDENT@[1453; 1455) "_x"
704 WHITESPACE@[1455; 1456) " "
705 PLUSEQ@[1456; 1458) "+="
706 WHITESPACE@[1458; 1459) " "
707 LITERAL@[1459; 1460)
708 INT_NUMBER@[1459; 1460) "0"
709 R_PAREN@[1460; 1461) ")"
710 WHITESPACE@[1461; 1462) " "
711 EQEQ@[1462; 1464) "=="
712 WHITESPACE@[1464; 1465) " "
713 PAREN_EXPR@[1465; 1473)
714 L_PAREN@[1465; 1466) "("
715 BIN_EXPR@[1466; 1472)
716 PATH_EXPR@[1466; 1468)
717 PATH@[1466; 1468)
718 PATH_SEGMENT@[1466; 1468)
719 NAME_REF@[1466; 1468)
720 IDENT@[1466; 1468) "_x"
721 WHITESPACE@[1468; 1469) " "
722 EQ@[1469; 1470) "="
723 WHITESPACE@[1470; 1471) " "
724 LITERAL@[1471; 1472)
725 INT_NUMBER@[1471; 1472) "0"
726 R_PAREN@[1472; 1473) ")"
727 SEMI@[1473; 1474) ";"
728 WHITESPACE@[1474; 1479) "\n "
729 LET_STMT@[1479; 1537)
730 LET_KW@[1479; 1482) "let"
731 WHITESPACE@[1482; 1483) " "
732 BIND_PAT@[1483; 1485)
733 NAME@[1483; 1485)
734 IDENT@[1483; 1485) "_b"
735 WHITESPACE@[1485; 1486) " "
736 EQ@[1486; 1487) "="
737 WHITESPACE@[1487; 1488) " "
738 BIN_EXPR@[1488; 1536)
739 CALL_EXPR@[1488; 1510)
740 PATH_EXPR@[1488; 1492)
741 PATH@[1488; 1492)
742 PATH_SEGMENT@[1488; 1492)
743 NAME_REF@[1488; 1492)
744 IDENT@[1488; 1492) "swap"
745 ARG_LIST@[1492; 1510)
746 L_PAREN@[1492; 1493) "("
747 REF_EXPR@[1493; 1500)
748 AMP@[1493; 1494) "&"
749 MUT_KW@[1494; 1497) "mut"
750 WHITESPACE@[1497; 1498) " "
751 PATH_EXPR@[1498; 1500)
752 PATH@[1498; 1500)
753 PATH_SEGMENT@[1498; 1500)
754 NAME_REF@[1498; 1500)
755 IDENT@[1498; 1500) "_y"
756 COMMA@[1500; 1501) ","
757 WHITESPACE@[1501; 1502) " "
758 REF_EXPR@[1502; 1509)
759 AMP@[1502; 1503) "&"
760 MUT_KW@[1503; 1506) "mut"
761 WHITESPACE@[1506; 1507) " "
762 PATH_EXPR@[1507; 1509)
763 PATH@[1507; 1509)
764 PATH_SEGMENT@[1507; 1509)
765 NAME_REF@[1507; 1509)
766 IDENT@[1507; 1509) "_z"
767 R_PAREN@[1509; 1510) ")"
768 WHITESPACE@[1510; 1511) " "
769 EQEQ@[1511; 1513) "=="
770 WHITESPACE@[1513; 1514) " "
771 CALL_EXPR@[1514; 1536)
772 PATH_EXPR@[1514; 1518)
773 PATH@[1514; 1518)
774 PATH_SEGMENT@[1514; 1518)
775 NAME_REF@[1514; 1518)
776 IDENT@[1514; 1518) "swap"
777 ARG_LIST@[1518; 1536)
778 L_PAREN@[1518; 1519) "("
779 REF_EXPR@[1519; 1526)
780 AMP@[1519; 1520) "&"
781 MUT_KW@[1520; 1523) "mut"
782 WHITESPACE@[1523; 1524) " "
783 PATH_EXPR@[1524; 1526)
784 PATH@[1524; 1526)
785 PATH_SEGMENT@[1524; 1526)
786 NAME_REF@[1524; 1526)
787 IDENT@[1524; 1526) "_y"
788 COMMA@[1526; 1527) ","
789 WHITESPACE@[1527; 1528) " "
790 REF_EXPR@[1528; 1535)
791 AMP@[1528; 1529) "&"
792 MUT_KW@[1529; 1532) "mut"
793 WHITESPACE@[1532; 1533) " "
794 PATH_EXPR@[1533; 1535)
795 PATH@[1533; 1535)
796 PATH_SEGMENT@[1533; 1535)
797 NAME_REF@[1533; 1535)
798 IDENT@[1533; 1535) "_z"
799 R_PAREN@[1535; 1536) ")"
800 SEMI@[1536; 1537) ";"
801 WHITESPACE@[1537; 1538) "\n"
802 R_CURLY@[1538; 1539) "}"
803 WHITESPACE@[1539; 1541) "\n\n"
804 FN_DEF@[1541; 1741)
805 FN_KW@[1541; 1543) "fn"
806 WHITESPACE@[1543; 1544) " "
807 NAME@[1544; 1557)
808 IDENT@[1544; 1557) "canttouchthis"
809 PARAM_LIST@[1557; 1559)
810 L_PAREN@[1557; 1558) "("
811 R_PAREN@[1558; 1559) ")"
812 WHITESPACE@[1559; 1560) " "
813 RET_TYPE@[1560; 1568)
814 THIN_ARROW@[1560; 1562) "->"
815 WHITESPACE@[1562; 1563) " "
816 PATH_TYPE@[1563; 1568)
817 PATH@[1563; 1568)
818 PATH_SEGMENT@[1563; 1568)
819 NAME_REF@[1563; 1568)
820 IDENT@[1563; 1568) "usize"
821 WHITESPACE@[1568; 1569) " "
822 BLOCK@[1569; 1741)
823 L_CURLY@[1569; 1570) "{"
824 WHITESPACE@[1570; 1575) "\n "
825 FN_DEF@[1575; 1598)
826 FN_KW@[1575; 1577) "fn"
827 WHITESPACE@[1577; 1578) " "
828 NAME@[1578; 1579)
829 IDENT@[1578; 1579) "p"
830 PARAM_LIST@[1579; 1581)
831 L_PAREN@[1579; 1580) "("
832 R_PAREN@[1580; 1581) ")"
833 WHITESPACE@[1581; 1582) " "
834 RET_TYPE@[1582; 1589)
835 THIN_ARROW@[1582; 1584) "->"
836 WHITESPACE@[1584; 1585) " "
837 PATH_TYPE@[1585; 1589)
838 PATH@[1585; 1589)
839 PATH_SEGMENT@[1585; 1589)
840 NAME_REF@[1585; 1589)
841 IDENT@[1585; 1589) "bool"
842 WHITESPACE@[1589; 1590) " "
843 BLOCK@[1590; 1598)
844 L_CURLY@[1590; 1591) "{"
845 WHITESPACE@[1591; 1592) " "
846 LITERAL@[1592; 1596)
847 TRUE_KW@[1592; 1596) "true"
848 WHITESPACE@[1596; 1597) " "
849 R_CURLY@[1597; 1598) "}"
850 WHITESPACE@[1598; 1603) "\n "
851 LET_STMT@[1603; 1648)
852 LET_KW@[1603; 1606) "let"
853 WHITESPACE@[1606; 1607) " "
854 BIND_PAT@[1607; 1609)
855 NAME@[1607; 1609)
856 IDENT@[1607; 1609) "_a"
857 WHITESPACE@[1609; 1610) " "
858 EQ@[1610; 1611) "="
859 WHITESPACE@[1611; 1612) " "
860 PAREN_EXPR@[1612; 1647)
861 L_PAREN@[1612; 1613) "("
862 BIN_EXPR@[1613; 1646)
863 MACRO_CALL@[1613; 1628)
864 PATH@[1613; 1619)
865 PATH_SEGMENT@[1613; 1619)
866 NAME_REF@[1613; 1619)
867 IDENT@[1613; 1619) "assert"
868 EXCL@[1619; 1620) "!"
869 TOKEN_TREE@[1620; 1628)
870 L_PAREN@[1620; 1621) "("
871 TOKEN_TREE@[1621; 1627)
872 L_PAREN@[1621; 1622) "("
873 TRUE_KW@[1622; 1626) "true"
874 R_PAREN@[1626; 1627) ")"
875 R_PAREN@[1627; 1628) ")"
876 WHITESPACE@[1628; 1629) " "
877 EQEQ@[1629; 1631) "=="
878 WHITESPACE@[1631; 1632) " "
879 PAREN_EXPR@[1632; 1646)
880 L_PAREN@[1632; 1633) "("
881 MACRO_CALL@[1633; 1645)
882 PATH@[1633; 1639)
883 PATH_SEGMENT@[1633; 1639)
884 NAME_REF@[1633; 1639)
885 IDENT@[1633; 1639) "assert"
886 EXCL@[1639; 1640) "!"
887 TOKEN_TREE@[1640; 1645)
888 L_PAREN@[1640; 1641) "("
889 IDENT@[1641; 1642) "p"
890 TOKEN_TREE@[1642; 1644)
891 L_PAREN@[1642; 1643) "("
892 R_PAREN@[1643; 1644) ")"
893 R_PAREN@[1644; 1645) ")"
894 R_PAREN@[1645; 1646) ")"
895 R_PAREN@[1646; 1647) ")"
896 SEMI@[1647; 1648) ";"
897 WHITESPACE@[1648; 1653) "\n "
898 LET_STMT@[1653; 1685)
899 LET_KW@[1653; 1656) "let"
900 WHITESPACE@[1656; 1657) " "
901 BIND_PAT@[1657; 1659)
902 NAME@[1657; 1659)
903 IDENT@[1657; 1659) "_c"
904 WHITESPACE@[1659; 1660) " "
905 EQ@[1660; 1661) "="
906 WHITESPACE@[1661; 1662) " "
907 PAREN_EXPR@[1662; 1684)
908 L_PAREN@[1662; 1663) "("
909 BIN_EXPR@[1663; 1683)
910 MACRO_CALL@[1663; 1677)
911 PATH@[1663; 1669)
912 PATH_SEGMENT@[1663; 1669)
913 NAME_REF@[1663; 1669)
914 IDENT@[1663; 1669) "assert"
915 EXCL@[1669; 1670) "!"
916 TOKEN_TREE@[1670; 1677)
917 L_PAREN@[1670; 1671) "("
918 TOKEN_TREE@[1671; 1676)
919 L_PAREN@[1671; 1672) "("
920 IDENT@[1672; 1673) "p"
921 TOKEN_TREE@[1673; 1675)
922 L_PAREN@[1673; 1674) "("
923 R_PAREN@[1674; 1675) ")"
924 R_PAREN@[1675; 1676) ")"
925 R_PAREN@[1676; 1677) ")"
926 WHITESPACE@[1677; 1678) " "
927 EQEQ@[1678; 1680) "=="
928 WHITESPACE@[1680; 1681) " "
929 TUPLE_EXPR@[1681; 1683)
930 L_PAREN@[1681; 1682) "("
931 R_PAREN@[1682; 1683) ")"
932 R_PAREN@[1683; 1684) ")"
933 SEMI@[1684; 1685) ";"
934 WHITESPACE@[1685; 1690) "\n "
935 LET_STMT@[1690; 1739)
936 LET_KW@[1690; 1693) "let"
937 WHITESPACE@[1693; 1694) " "
938 BIND_PAT@[1694; 1696)
939 NAME@[1694; 1696)
940 IDENT@[1694; 1696) "_b"
941 COLON@[1696; 1697) ":"
942 WHITESPACE@[1697; 1698) " "
943 PATH_TYPE@[1698; 1702)
944 PATH@[1698; 1702)
945 PATH_SEGMENT@[1698; 1702)
946 NAME_REF@[1698; 1702)
947 IDENT@[1698; 1702) "bool"
948 WHITESPACE@[1702; 1703) " "
949 EQ@[1703; 1704) "="
950 WHITESPACE@[1704; 1705) " "
951 PAREN_EXPR@[1705; 1738)
952 L_PAREN@[1705; 1706) "("
953 BIN_EXPR@[1706; 1737)
954 MACRO_CALL@[1706; 1723)
955 PATH@[1706; 1713)
956 PATH_SEGMENT@[1706; 1713)
957 NAME_REF@[1706; 1713)
958 IDENT@[1706; 1713) "println"
959 EXCL@[1713; 1714) "!"
960 TOKEN_TREE@[1714; 1723)
961 L_PAREN@[1714; 1715) "("
962 STRING@[1715; 1719) "\"{}\""
963 COMMA@[1719; 1720) ","
964 WHITESPACE@[1720; 1721) " "
965 INT_NUMBER@[1721; 1722) "0"
966 R_PAREN@[1722; 1723) ")"
967 WHITESPACE@[1723; 1724) " "
968 EQEQ@[1724; 1726) "=="
969 WHITESPACE@[1726; 1727) " "
970 PAREN_EXPR@[1727; 1737)
971 L_PAREN@[1727; 1728) "("
972 RETURN_EXPR@[1728; 1736)
973 RETURN_KW@[1728; 1734) "return"
974 WHITESPACE@[1734; 1735) " "
975 LITERAL@[1735; 1736)
976 INT_NUMBER@[1735; 1736) "0"
977 R_PAREN@[1736; 1737) ")"
978 R_PAREN@[1737; 1738) ")"
979 SEMI@[1738; 1739) ";"
980 WHITESPACE@[1739; 1740) "\n"
981 R_CURLY@[1740; 1741) "}"
982 WHITESPACE@[1741; 1743) "\n\n"
983 FN_DEF@[1743; 1904)
984 FN_KW@[1743; 1745) "fn"
985 WHITESPACE@[1745; 1746) " "
986 NAME@[1746; 1755)
987 IDENT@[1746; 1755) "angrydome"
988 PARAM_LIST@[1755; 1757)
989 L_PAREN@[1755; 1756) "("
990 R_PAREN@[1756; 1757) ")"
991 WHITESPACE@[1757; 1758) " "
992 BLOCK@[1758; 1904)
993 L_CURLY@[1758; 1759) "{"
994 WHITESPACE@[1759; 1764) "\n "
995 EXPR_STMT@[1764; 1785)
996 LOOP_EXPR@[1764; 1785)
997 LOOP_KW@[1764; 1768) "loop"
998 WHITESPACE@[1768; 1769) " "
999 BLOCK@[1769; 1785)
1000 L_CURLY@[1769; 1770) "{"
1001 WHITESPACE@[1770; 1771) " "
1002 IF_EXPR@[1771; 1783)
1003 IF_KW@[1771; 1773) "if"
1004 WHITESPACE@[1773; 1774) " "
1005 CONDITION@[1774; 1779)
1006 BREAK_EXPR@[1774; 1779)
1007 BREAK_KW@[1774; 1779) "break"
1008 WHITESPACE@[1779; 1780) " "
1009 BLOCK@[1780; 1783)
1010 L_CURLY@[1780; 1781) "{"
1011 WHITESPACE@[1781; 1782) " "
1012 R_CURLY@[1782; 1783) "}"
1013 WHITESPACE@[1783; 1784) " "
1014 R_CURLY@[1784; 1785) "}"
1015 WHITESPACE@[1785; 1790) "\n "
1016 LET_STMT@[1790; 1804)
1017 LET_KW@[1790; 1793) "let"
1018 WHITESPACE@[1793; 1794) " "
1019 BIND_PAT@[1794; 1799)
1020 MUT_KW@[1794; 1797) "mut"
1021 WHITESPACE@[1797; 1798) " "
1022 NAME@[1798; 1799)
1023 IDENT@[1798; 1799) "i"
1024 WHITESPACE@[1799; 1800) " "
1025 EQ@[1800; 1801) "="
1026 WHITESPACE@[1801; 1802) " "
1027 LITERAL@[1802; 1803)
1028 INT_NUMBER@[1802; 1803) "0"
1029 SEMI@[1803; 1804) ";"
1030 WHITESPACE@[1804; 1809) "\n "
1031 LOOP_EXPR@[1809; 1902)
1032 LOOP_KW@[1809; 1813) "loop"
1033 WHITESPACE@[1813; 1814) " "
1034 BLOCK@[1814; 1902)
1035 L_CURLY@[1814; 1815) "{"
1036 WHITESPACE@[1815; 1816) " "
1037 EXPR_STMT@[1816; 1823)
1038 BIN_EXPR@[1816; 1822)
1039 PATH_EXPR@[1816; 1817)
1040 PATH@[1816; 1817)
1041 PATH_SEGMENT@[1816; 1817)
1042 NAME_REF@[1816; 1817)
1043 IDENT@[1816; 1817) "i"
1044 WHITESPACE@[1817; 1818) " "
1045 PLUSEQ@[1818; 1820) "+="
1046 WHITESPACE@[1820; 1821) " "
1047 LITERAL@[1821; 1822)
1048 INT_NUMBER@[1821; 1822) "1"
1049 SEMI@[1822; 1823) ";"
1050 WHITESPACE@[1823; 1824) " "
1051 EXPR_STMT@[1824; 1887)
1052 IF_EXPR@[1824; 1887)
1053 IF_KW@[1824; 1826) "if"
1054 WHITESPACE@[1826; 1827) " "
1055 CONDITION@[1827; 1833)
1056 BIN_EXPR@[1827; 1833)
1057 PATH_EXPR@[1827; 1828)
1058 PATH@[1827; 1828)
1059 PATH_SEGMENT@[1827; 1828)
1060 NAME_REF@[1827; 1828)
1061 IDENT@[1827; 1828) "i"
1062 WHITESPACE@[1828; 1829) " "
1063 EQEQ@[1829; 1831) "=="
1064 WHITESPACE@[1831; 1832) " "
1065 LITERAL@[1832; 1833)
1066 INT_NUMBER@[1832; 1833) "1"
1067 WHITESPACE@[1833; 1834) " "
1068 BLOCK@[1834; 1887)
1069 L_CURLY@[1834; 1835) "{"
1070 WHITESPACE@[1835; 1836) " "
1071 MATCH_EXPR@[1836; 1885)
1072 MATCH_KW@[1836; 1841) "match"
1073 WHITESPACE@[1841; 1842) " "
1074 PAREN_EXPR@[1842; 1852)
1075 L_PAREN@[1842; 1843) "("
1076 CONTINUE_EXPR@[1843; 1851)
1077 CONTINUE_KW@[1843; 1851) "continue"
1078 R_PAREN@[1851; 1852) ")"
1079 WHITESPACE@[1852; 1853) " "
1080 MATCH_ARM_LIST@[1853; 1885)
1081 L_CURLY@[1853; 1854) "{"
1082 WHITESPACE@[1854; 1855) " "
1083 MATCH_ARM@[1855; 1863)
1084 LITERAL_PAT@[1855; 1856)
1085 LITERAL@[1855; 1856)
1086 INT_NUMBER@[1855; 1856) "1"
1087 WHITESPACE@[1856; 1857) " "
1088 FAT_ARROW@[1857; 1859) "=>"
1089 WHITESPACE@[1859; 1860) " "
1090 BLOCK_EXPR@[1860; 1863)
1091 BLOCK@[1860; 1863)
1092 L_CURLY@[1860; 1861) "{"
1093 WHITESPACE@[1861; 1862) " "
1094 R_CURLY@[1862; 1863) "}"
1095 COMMA@[1863; 1864) ","
1096 WHITESPACE@[1864; 1865) " "
1097 MATCH_ARM@[1865; 1883)
1098 PLACEHOLDER_PAT@[1865; 1866)
1099 UNDERSCORE@[1865; 1866) "_"
1100 WHITESPACE@[1866; 1867) " "
1101 FAT_ARROW@[1867; 1869) "=>"
1102 WHITESPACE@[1869; 1870) " "
1103 MACRO_CALL@[1870; 1883)
1104 PATH@[1870; 1875)
1105 PATH_SEGMENT@[1870; 1875)
1106 NAME_REF@[1870; 1875)
1107 IDENT@[1870; 1875) "panic"
1108 EXCL@[1875; 1876) "!"
1109 TOKEN_TREE@[1876; 1883)
1110 L_PAREN@[1876; 1877) "("
1111 STRING@[1877; 1882) "\"wat\""
1112 R_PAREN@[1882; 1883) ")"
1113 WHITESPACE@[1883; 1884) " "
1114 R_CURLY@[1884; 1885) "}"
1115 WHITESPACE@[1885; 1886) " "
1116 R_CURLY@[1886; 1887) "}"
1117 WHITESPACE@[1887; 1894) "\n "
1118 EXPR_STMT@[1894; 1900)
1119 BREAK_EXPR@[1894; 1899)
1120 BREAK_KW@[1894; 1899) "break"
1121 SEMI@[1899; 1900) ";"
1122 WHITESPACE@[1900; 1901) " "
1123 R_CURLY@[1901; 1902) "}"
1124 WHITESPACE@[1902; 1903) "\n"
1125 R_CURLY@[1903; 1904) "}"
1126 WHITESPACE@[1904; 1906) "\n\n"
1127 FN_DEF@[1906; 1960)
1128 FN_KW@[1906; 1908) "fn"
1129 WHITESPACE@[1908; 1909) " "
1130 NAME@[1909; 1921)
1131 IDENT@[1909; 1921) "evil_lincoln"
1132 PARAM_LIST@[1921; 1923)
1133 L_PAREN@[1921; 1922) "("
1134 R_PAREN@[1922; 1923) ")"
1135 WHITESPACE@[1923; 1924) " "
1136 BLOCK@[1924; 1960)
1137 L_CURLY@[1924; 1925) "{"
1138 WHITESPACE@[1925; 1926) " "
1139 LET_STMT@[1926; 1958)
1140 LET_KW@[1926; 1929) "let"
1141 WHITESPACE@[1929; 1930) " "
1142 BIND_PAT@[1930; 1935)
1143 NAME@[1930; 1935)
1144 IDENT@[1930; 1935) "_evil"
1145 WHITESPACE@[1935; 1936) " "
1146 EQ@[1936; 1937) "="
1147 WHITESPACE@[1937; 1938) " "
1148 MACRO_CALL@[1938; 1957)
1149 PATH@[1938; 1945)
1150 PATH_SEGMENT@[1938; 1945)
1151 NAME_REF@[1938; 1945)
1152 IDENT@[1938; 1945) "println"
1153 EXCL@[1945; 1946) "!"
1154 TOKEN_TREE@[1946; 1957)
1155 L_PAREN@[1946; 1947) "("
1156 STRING@[1947; 1956) "\"lincoln\""
1157 R_PAREN@[1956; 1957) ")"
1158 SEMI@[1957; 1958) ";"
1159 WHITESPACE@[1958; 1959) " "
1160 R_CURLY@[1959; 1960) "}"
1161 WHITESPACE@[1960; 1962) "\n\n"
1162 FN_DEF@[1962; 2198)
1163 FN_KW@[1962; 1964) "fn"
1164 WHITESPACE@[1964; 1965) " "
1165 NAME@[1965; 1969)
1166 IDENT@[1965; 1969) "dots"
1167 PARAM_LIST@[1969; 1971)
1168 L_PAREN@[1969; 1970) "("
1169 R_PAREN@[1970; 1971) ")"
1170 WHITESPACE@[1971; 1972) " "
1171 BLOCK@[1972; 2198)
1172 L_CURLY@[1972; 1973) "{"
1173 WHITESPACE@[1973; 1978) "\n "
1174 EXPR_STMT@[1978; 2196)
1175 MACRO_CALL@[1978; 2195)
1176 PATH@[1978; 1987)
1177 PATH_SEGMENT@[1978; 1987)
1178 NAME_REF@[1978; 1987)
1179 IDENT@[1978; 1987) "assert_eq"
1180 EXCL@[1987; 1988) "!"
1181 TOKEN_TREE@[1988; 2195)
1182 L_PAREN@[1988; 1989) "("
1183 IDENT@[1989; 1995) "String"
1184 COLON@[1995; 1996) ":"
1185 COLON@[1996; 1997) ":"
1186 IDENT@[1997; 2001) "from"
1187 TOKEN_TREE@[2001; 2055)
1188 L_PAREN@[2001; 2002) "("
1189 STRING@[2002; 2054) "\".................... ..."
1190 R_PAREN@[2054; 2055) ")"
1191 COMMA@[2055; 2056) ","
1192 WHITESPACE@[2056; 2072) "\n "
1193 IDENT@[2072; 2078) "format"
1194 EXCL@[2078; 2079) "!"
1195 TOKEN_TREE@[2079; 2194)
1196 L_PAREN@[2079; 2080) "("
1197 STRING@[2080; 2086) "\"{:?}\""
1198 COMMA@[2086; 2087) ","
1199 WHITESPACE@[2087; 2088) " "
1200 DOT@[2088; 2089) "."
1201 DOT@[2089; 2090) "."
1202 WHITESPACE@[2090; 2091) " "
1203 DOT@[2091; 2092) "."
1204 DOT@[2092; 2093) "."
1205 WHITESPACE@[2093; 2094) " "
1206 DOT@[2094; 2095) "."
1207 DOT@[2095; 2096) "."
1208 WHITESPACE@[2096; 2097) " "
1209 DOT@[2097; 2098) "."
1210 DOT@[2098; 2099) "."
1211 WHITESPACE@[2099; 2100) " "
1212 DOT@[2100; 2101) "."
1213 DOT@[2101; 2102) "."
1214 WHITESPACE@[2102; 2103) " "
1215 DOT@[2103; 2104) "."
1216 DOT@[2104; 2105) "."
1217 WHITESPACE@[2105; 2106) " "
1218 DOT@[2106; 2107) "."
1219 DOT@[2107; 2108) "."
1220 WHITESPACE@[2108; 2109) " "
1221 DOT@[2109; 2110) "."
1222 DOT@[2110; 2111) "."
1223 WHITESPACE@[2111; 2112) " "
1224 DOT@[2112; 2113) "."
1225 DOT@[2113; 2114) "."
1226 WHITESPACE@[2114; 2115) " "
1227 DOT@[2115; 2116) "."
1228 DOT@[2116; 2117) "."
1229 WHITESPACE@[2117; 2118) " "
1230 DOT@[2118; 2119) "."
1231 DOT@[2119; 2120) "."
1232 WHITESPACE@[2120; 2121) " "
1233 DOT@[2121; 2122) "."
1234 DOT@[2122; 2123) "."
1235 WHITESPACE@[2123; 2124) " "
1236 DOT@[2124; 2125) "."
1237 DOT@[2125; 2126) "."
1238 WHITESPACE@[2126; 2158) "\n ..."
1239 DOT@[2158; 2159) "."
1240 DOT@[2159; 2160) "."
1241 WHITESPACE@[2160; 2161) " "
1242 DOT@[2161; 2162) "."
1243 DOT@[2162; 2163) "."
1244 WHITESPACE@[2163; 2164) " "
1245 DOT@[2164; 2165) "."
1246 DOT@[2165; 2166) "."
1247 WHITESPACE@[2166; 2167) " "
1248 DOT@[2167; 2168) "."
1249 DOT@[2168; 2169) "."
1250 WHITESPACE@[2169; 2170) " "
1251 DOT@[2170; 2171) "."
1252 DOT@[2171; 2172) "."
1253 WHITESPACE@[2172; 2173) " "
1254 DOT@[2173; 2174) "."
1255 DOT@[2174; 2175) "."
1256 WHITESPACE@[2175; 2176) " "
1257 DOT@[2176; 2177) "."
1258 DOT@[2177; 2178) "."
1259 WHITESPACE@[2178; 2179) " "
1260 DOT@[2179; 2180) "."
1261 DOT@[2180; 2181) "."
1262 WHITESPACE@[2181; 2182) " "
1263 DOT@[2182; 2183) "."
1264 DOT@[2183; 2184) "."
1265 WHITESPACE@[2184; 2185) " "
1266 DOT@[2185; 2186) "."
1267 DOT@[2186; 2187) "."
1268 WHITESPACE@[2187; 2188) " "
1269 DOT@[2188; 2189) "."
1270 DOT@[2189; 2190) "."
1271 WHITESPACE@[2190; 2191) " "
1272 DOT@[2191; 2192) "."
1273 DOT@[2192; 2193) "."
1274 R_PAREN@[2193; 2194) ")"
1275 R_PAREN@[2194; 2195) ")"
1276 SEMI@[2195; 2196) ";"
1277 WHITESPACE@[2196; 2197) "\n"
1278 R_CURLY@[2197; 2198) "}"
1279 WHITESPACE@[2198; 2200) "\n\n"
1280 FN_DEF@[2200; 2693)
1281 FN_KW@[2200; 2202) "fn"
1282 WHITESPACE@[2202; 2203) " "
1283 NAME@[2203; 2205)
1284 IDENT@[2203; 2205) "u8"
1285 PARAM_LIST@[2205; 2213)
1286 L_PAREN@[2205; 2206) "("
1287 PARAM@[2206; 2212)
1288 BIND_PAT@[2206; 2208)
1289 NAME@[2206; 2208)
1290 IDENT@[2206; 2208) "u8"
1291 COLON@[2208; 2209) ":"
1292 WHITESPACE@[2209; 2210) " "
1293 PATH_TYPE@[2210; 2212)
1294 PATH@[2210; 2212)
1295 PATH_SEGMENT@[2210; 2212)
1296 NAME_REF@[2210; 2212)
1297 IDENT@[2210; 2212) "u8"
1298 R_PAREN@[2212; 2213) ")"
1299 WHITESPACE@[2213; 2214) " "
1300 BLOCK@[2214; 2693)
1301 L_CURLY@[2214; 2215) "{"
1302 WHITESPACE@[2215; 2220) "\n "
1303 IF_EXPR@[2220; 2691)
1304 IF_KW@[2220; 2222) "if"
1305 WHITESPACE@[2222; 2223) " "
1306 CONDITION@[2223; 2232)
1307 BIN_EXPR@[2223; 2232)
1308 PATH_EXPR@[2223; 2225)
1309 PATH@[2223; 2225)
1310 PATH_SEGMENT@[2223; 2225)
1311 NAME_REF@[2223; 2225)
1312 IDENT@[2223; 2225) "u8"
1313 WHITESPACE@[2225; 2226) " "
1314 NEQ@[2226; 2228) "!="
1315 WHITESPACE@[2228; 2229) " "
1316 LITERAL@[2229; 2232)
1317 INT_NUMBER@[2229; 2232) "0u8"
1318 WHITESPACE@[2232; 2233) " "
1319 BLOCK@[2233; 2691)
1320 L_CURLY@[2233; 2234) "{"
1321 WHITESPACE@[2234; 2243) "\n "
1322 EXPR_STMT@[2243; 2685)
1323 MACRO_CALL@[2243; 2684)
1324 PATH@[2243; 2252)
1325 PATH_SEGMENT@[2243; 2252)
1326 NAME_REF@[2243; 2252)
1327 IDENT@[2243; 2252) "assert_eq"
1328 EXCL@[2252; 2253) "!"
1329 TOKEN_TREE@[2253; 2684)
1330 L_PAREN@[2253; 2254) "("
1331 INT_NUMBER@[2254; 2257) "8u8"
1332 COMMA@[2257; 2258) ","
1333 WHITESPACE@[2258; 2259) " "
1334 TOKEN_TREE@[2259; 2683)
1335 L_CURLY@[2259; 2260) "{"
1336 WHITESPACE@[2260; 2273) "\n "
1337 IDENT@[2273; 2284) "macro_rules"
1338 EXCL@[2284; 2285) "!"
1339 WHITESPACE@[2285; 2286) " "
1340 IDENT@[2286; 2288) "u8"
1341 WHITESPACE@[2288; 2289) " "
1342 TOKEN_TREE@[2289; 2567)
1343 L_CURLY@[2289; 2290) "{"
1344 WHITESPACE@[2290; 2307) "\n "
1345 TOKEN_TREE@[2307; 2311)
1346 L_PAREN@[2307; 2308) "("
1347 IDENT@[2308; 2310) "u8"
1348 R_PAREN@[2310; 2311) ")"
1349 WHITESPACE@[2311; 2312) " "
1350 EQ@[2312; 2313) "="
1351 R_ANGLE@[2313; 2314) ">"
1352 WHITESPACE@[2314; 2315) " "
1353 TOKEN_TREE@[2315; 2552)
1354 L_CURLY@[2315; 2316) "{"
1355 WHITESPACE@[2316; 2337) "\n "
1356 MOD_KW@[2337; 2340) "mod"
1357 WHITESPACE@[2340; 2341) " "
1358 IDENT@[2341; 2343) "u8"
1359 WHITESPACE@[2343; 2344) " "
1360 TOKEN_TREE@[2344; 2534)
1361 L_CURLY@[2344; 2345) "{"
1362 WHITESPACE@[2345; 2370) "\n ..."
1363 PUB_KW@[2370; 2373) "pub"
1364 WHITESPACE@[2373; 2374) " "
1365 FN_KW@[2374; 2376) "fn"
1366 WHITESPACE@[2376; 2377) " "
1367 IDENT@[2377; 2379) "u8"
1368 L_ANGLE@[2379; 2380) "<"
1369 LIFETIME@[2380; 2383) "\'u8"
1370 COLON@[2383; 2384) ":"
1371 WHITESPACE@[2384; 2385) " "
1372 LIFETIME@[2385; 2388) "\'u8"
1373 WHITESPACE@[2388; 2389) " "
1374 PLUS@[2389; 2390) "+"
1375 WHITESPACE@[2390; 2391) " "
1376 LIFETIME@[2391; 2394) "\'u8"
1377 R_ANGLE@[2394; 2395) ">"
1378 TOKEN_TREE@[2395; 2408)
1379 L_PAREN@[2395; 2396) "("
1380 IDENT@[2396; 2398) "u8"
1381 COLON@[2398; 2399) ":"
1382 WHITESPACE@[2399; 2400) " "
1383 AMP@[2400; 2401) "&"
1384 LIFETIME@[2401; 2404) "\'u8"
1385 WHITESPACE@[2404; 2405) " "
1386 IDENT@[2405; 2407) "u8"
1387 R_PAREN@[2407; 2408) ")"
1388 WHITESPACE@[2408; 2409) " "
1389 MINUS@[2409; 2410) "-"
1390 R_ANGLE@[2410; 2411) ">"
1391 WHITESPACE@[2411; 2412) " "
1392 AMP@[2412; 2413) "&"
1393 LIFETIME@[2413; 2416) "\'u8"
1394 WHITESPACE@[2416; 2417) " "
1395 IDENT@[2417; 2419) "u8"
1396 WHITESPACE@[2419; 2420) " "
1397 TOKEN_TREE@[2420; 2512)
1398 L_CURLY@[2420; 2421) "{"
1399 WHITESPACE@[2421; 2450) "\n ..."
1400 STRING@[2450; 2454) "\"u8\""
1401 SEMI@[2454; 2455) ";"
1402 WHITESPACE@[2455; 2484) "\n ..."
1403 IDENT@[2484; 2486) "u8"
1404 WHITESPACE@[2486; 2511) "\n ..."
1405 R_CURLY@[2511; 2512) "}"
1406 WHITESPACE@[2512; 2533) "\n "
1407 R_CURLY@[2533; 2534) "}"
1408 WHITESPACE@[2534; 2551) "\n "
1409 R_CURLY@[2551; 2552) "}"
1410 SEMI@[2552; 2553) ";"
1411 WHITESPACE@[2553; 2566) "\n "
1412 R_CURLY@[2566; 2567) "}"
1413 WHITESPACE@[2567; 2581) "\n\n "
1414 IDENT@[2581; 2583) "u8"
1415 EXCL@[2583; 2584) "!"
1416 TOKEN_TREE@[2584; 2588)
1417 L_PAREN@[2584; 2585) "("
1418 IDENT@[2585; 2587) "u8"
1419 R_PAREN@[2587; 2588) ")"
1420 SEMI@[2588; 2589) ";"
1421 WHITESPACE@[2589; 2602) "\n "
1422 LET_KW@[2602; 2605) "let"
1423 WHITESPACE@[2605; 2606) " "
1424 AMP@[2606; 2607) "&"
1425 IDENT@[2607; 2609) "u8"
1426 COLON@[2609; 2610) ":"
1427 WHITESPACE@[2610; 2611) " "
1428 AMP@[2611; 2612) "&"
1429 IDENT@[2612; 2614) "u8"
1430 WHITESPACE@[2614; 2615) " "
1431 EQ@[2615; 2616) "="
1432 WHITESPACE@[2616; 2617) " "
1433 IDENT@[2617; 2619) "u8"
1434 COLON@[2619; 2620) ":"
1435 COLON@[2620; 2621) ":"
1436 IDENT@[2621; 2623) "u8"
1437 TOKEN_TREE@[2623; 2629)
1438 L_PAREN@[2623; 2624) "("
1439 AMP@[2624; 2625) "&"
1440 INT_NUMBER@[2625; 2628) "8u8"
1441 R_PAREN@[2628; 2629) ")"
1442 SEMI@[2629; 2630) ";"
1443 WHITESPACE@[2630; 2643) "\n "
1444 CRATE_KW@[2643; 2648) "crate"
1445 COLON@[2648; 2649) ":"
1446 COLON@[2649; 2650) ":"
1447 IDENT@[2650; 2652) "u8"
1448 TOKEN_TREE@[2652; 2657)
1449 L_PAREN@[2652; 2653) "("
1450 INT_NUMBER@[2653; 2656) "0u8"
1451 R_PAREN@[2656; 2657) ")"
1452 SEMI@[2657; 2658) ";"
1453 WHITESPACE@[2658; 2671) "\n "
1454 IDENT@[2671; 2673) "u8"
1455 WHITESPACE@[2673; 2682) "\n "
1456 R_CURLY@[2682; 2683) "}"
1457 R_PAREN@[2683; 2684) ")"
1458 SEMI@[2684; 2685) ";"
1459 WHITESPACE@[2685; 2690) "\n "
1460 R_CURLY@[2690; 2691) "}"
1461 WHITESPACE@[2691; 2692) "\n"
1462 R_CURLY@[2692; 2693) "}"
1463 WHITESPACE@[2693; 2695) "\n\n"
1464 FN_DEF@[2695; 2832)
1465 FN_KW@[2695; 2697) "fn"
1466 WHITESPACE@[2697; 2698) " "
1467 NAME@[2698; 2703)
1468 IDENT@[2698; 2703) "fishy"
1469 PARAM_LIST@[2703; 2705)
1470 L_PAREN@[2703; 2704) "("
1471 R_PAREN@[2704; 2705) ")"
1472 WHITESPACE@[2705; 2706) " "
1473 BLOCK@[2706; 2832)
1474 L_CURLY@[2706; 2707) "{"
1475 WHITESPACE@[2707; 2712) "\n "
1476 EXPR_STMT@[2712; 2830)
1477 MACRO_CALL@[2712; 2829)
1478 PATH@[2712; 2721)
1479 PATH_SEGMENT@[2712; 2721)
1480 NAME_REF@[2712; 2721)
1481 IDENT@[2712; 2721) "assert_eq"
1482 EXCL@[2721; 2722) "!"
1483 TOKEN_TREE@[2722; 2829)
1484 L_PAREN@[2722; 2723) "("
1485 IDENT@[2723; 2729) "String"
1486 COLON@[2729; 2730) ":"
1487 COLON@[2730; 2731) ":"
1488 IDENT@[2731; 2735) "from"
1489 TOKEN_TREE@[2735; 2742)
1490 L_PAREN@[2735; 2736) "("
1491 STRING@[2736; 2741) "\"><>\""
1492 R_PAREN@[2741; 2742) ")"
1493 COMMA@[2742; 2743) ","
1494 WHITESPACE@[2743; 2759) "\n "
1495 IDENT@[2759; 2765) "String"
1496 COLON@[2765; 2766) ":"
1497 COLON@[2766; 2767) ":"
1498 L_ANGLE@[2767; 2768) "<"
1499 R_ANGLE@[2768; 2769) ">"
1500 COLON@[2769; 2770) ":"
1501 COLON@[2770; 2771) ":"
1502 IDENT@[2771; 2775) "from"
1503 COLON@[2775; 2776) ":"
1504 COLON@[2776; 2777) ":"
1505 L_ANGLE@[2777; 2778) "<"
1506 R_ANGLE@[2778; 2779) ">"
1507 TOKEN_TREE@[2779; 2786)
1508 L_PAREN@[2779; 2780) "("
1509 STRING@[2780; 2785) "\"><>\""
1510 R_PAREN@[2785; 2786) ")"
1511 DOT@[2786; 2787) "."
1512 IDENT@[2787; 2792) "chars"
1513 COLON@[2792; 2793) ":"
1514 COLON@[2793; 2794) ":"
1515 L_ANGLE@[2794; 2795) "<"
1516 R_ANGLE@[2795; 2796) ">"
1517 TOKEN_TREE@[2796; 2798)
1518 L_PAREN@[2796; 2797) "("
1519 R_PAREN@[2797; 2798) ")"
1520 DOT@[2798; 2799) "."
1521 IDENT@[2799; 2802) "rev"
1522 COLON@[2802; 2803) ":"
1523 COLON@[2803; 2804) ":"
1524 L_ANGLE@[2804; 2805) "<"
1525 R_ANGLE@[2805; 2806) ">"
1526 TOKEN_TREE@[2806; 2808)
1527 L_PAREN@[2806; 2807) "("
1528 R_PAREN@[2807; 2808) ")"
1529 DOT@[2808; 2809) "."
1530 IDENT@[2809; 2816) "collect"
1531 COLON@[2816; 2817) ":"
1532 COLON@[2817; 2818) ":"
1533 L_ANGLE@[2818; 2819) "<"
1534 IDENT@[2819; 2825) "String"
1535 R_ANGLE@[2825; 2826) ">"
1536 TOKEN_TREE@[2826; 2828)
1537 L_PAREN@[2826; 2827) "("
1538 R_PAREN@[2827; 2828) ")"
1539 R_PAREN@[2828; 2829) ")"
1540 SEMI@[2829; 2830) ";"
1541 WHITESPACE@[2830; 2831) "\n"
1542 R_CURLY@[2831; 2832) "}"
1543 WHITESPACE@[2832; 2834) "\n\n"
1544 FN_DEF@[2834; 2906)
1545 FN_KW@[2834; 2836) "fn"
1546 WHITESPACE@[2836; 2837) " "
1547 NAME@[2837; 2842)
1548 IDENT@[2837; 2842) "union"
1549 PARAM_LIST@[2842; 2844)
1550 L_PAREN@[2842; 2843) "("
1551 R_PAREN@[2843; 2844) ")"
1552 WHITESPACE@[2844; 2845) " "
1553 BLOCK@[2845; 2906)
1554 L_CURLY@[2845; 2846) "{"
1555 WHITESPACE@[2846; 2851) "\n "
1556 STRUCT_DEF@[2851; 2904)
1557 UNION_KW@[2851; 2856) "union"
1558 WHITESPACE@[2856; 2857) " "
1559 NAME@[2857; 2862)
1560 IDENT@[2857; 2862) "union"
1561 TYPE_PARAM_LIST@[2862; 2870)
1562 L_ANGLE@[2862; 2863) "<"
1563 LIFETIME_PARAM@[2863; 2869)
1564 LIFETIME@[2863; 2869) "\'union"
1565 R_ANGLE@[2869; 2870) ">"
1566 WHITESPACE@[2870; 2871) " "
1567 NAMED_FIELD_DEF_LIST@[2871; 2904)
1568 L_CURLY@[2871; 2872) "{"
1569 WHITESPACE@[2872; 2873) " "
1570 NAMED_FIELD_DEF@[2873; 2901)
1571 NAME@[2873; 2878)
1572 IDENT@[2873; 2878) "union"
1573 COLON@[2878; 2879) ":"
1574 WHITESPACE@[2879; 2880) " "
1575 REFERENCE_TYPE@[2880; 2901)
1576 AMP@[2880; 2881) "&"
1577 LIFETIME@[2881; 2887) "\'union"
1578 WHITESPACE@[2887; 2888) " "
1579 PATH_TYPE@[2888; 2901)
1580 PATH@[2888; 2901)
1581 PATH_SEGMENT@[2888; 2901)
1582 NAME_REF@[2888; 2893)
1583 IDENT@[2888; 2893) "union"
1584 TYPE_ARG_LIST@[2893; 2901)
1585 L_ANGLE@[2893; 2894) "<"
1586 LIFETIME_ARG@[2894; 2900)
1587 LIFETIME@[2894; 2900) "\'union"
1588 R_ANGLE@[2900; 2901) ">"
1589 COMMA@[2901; 2902) ","
1590 WHITESPACE@[2902; 2903) " "
1591 R_CURLY@[2903; 2904) "}"
1592 WHITESPACE@[2904; 2905) "\n"
1593 R_CURLY@[2905; 2906) "}"
1594 WHITESPACE@[2906; 2908) "\n\n"
1595 FN_DEF@[2908; 3042)
1596 FN_KW@[2908; 2910) "fn"
1597 WHITESPACE@[2910; 2911) " "
1598 NAME@[2911; 2929)
1599 IDENT@[2911; 2929) "special_characters"
1600 PARAM_LIST@[2929; 2931)
1601 L_PAREN@[2929; 2930) "("
1602 R_PAREN@[2930; 2931) ")"
1603 WHITESPACE@[2931; 2932) " "
1604 BLOCK@[2932; 3042)
1605 L_CURLY@[2932; 2933) "{"
1606 WHITESPACE@[2933; 2938) "\n "
1607 LET_STMT@[2938; 3021)
1608 LET_KW@[2938; 2941) "let"
1609 WHITESPACE@[2941; 2942) " "
1610 BIND_PAT@[2942; 2945)
1611 NAME@[2942; 2945)
1612 IDENT@[2942; 2945) "val"
1613 WHITESPACE@[2945; 2946) " "
1614 EQ@[2946; 2947) "="
1615 WHITESPACE@[2947; 2948) " "
1616 PREFIX_EXPR@[2948; 3013)
1617 EXCL@[2948; 2949) "!"
1618 PAREN_EXPR@[2949; 3013)
1619 L_PAREN@[2949; 2950) "("
1620 BIN_EXPR@[2950; 3012)
1621 CALL_EXPR@[2950; 2995)
1622 PAREN_EXPR@[2950; 2971)
1623 L_PAREN@[2950; 2951) "("
1624 LAMBDA_EXPR@[2951; 2970)
1625 PARAM_LIST@[2951; 2968)
1626 PIPE@[2951; 2952) "|"
1627 PARAM@[2952; 2962)
1628 TUPLE_PAT@[2952; 2956)
1629 L_PAREN@[2952; 2953) "("
1630 DOTDOT@[2953; 2955) ".."
1631 R_PAREN@[2955; 2956) ")"
1632 COLON@[2956; 2957) ":"
1633 TUPLE_TYPE@[2957; 2962)
1634 L_PAREN@[2957; 2958) "("
1635 PLACEHOLDER_TYPE@[2958; 2959)
1636 UNDERSCORE@[2958; 2959) "_"
1637 COMMA@[2959; 2960) ","
1638 PLACEHOLDER_TYPE@[2960; 2961)
1639 UNDERSCORE@[2960; 2961) "_"
1640 R_PAREN@[2961; 2962) ")"
1641 COMMA@[2962; 2963) ","
1642 PARAM@[2963; 2967)
1643 BIND_PAT@[2963; 2967)
1644 NAME@[2963; 2965)
1645 IDENT@[2963; 2965) "__"
1646 AT@[2965; 2966) "@"
1647 PLACEHOLDER_PAT@[2966; 2967)
1648 UNDERSCORE@[2966; 2967) "_"
1649 PIPE@[2967; 2968) "|"
1650 PATH_EXPR@[2968; 2970)
1651 PATH@[2968; 2970)
1652 PATH_SEGMENT@[2968; 2970)
1653 NAME_REF@[2968; 2970)
1654 IDENT@[2968; 2970) "__"
1655 R_PAREN@[2970; 2971) ")"
1656 ARG_LIST@[2971; 2995)
1657 L_PAREN@[2971; 2972) "("
1658 TUPLE_EXPR@[2972; 2987)
1659 L_PAREN@[2972; 2973) "("
1660 REF_EXPR@[2973; 2979)
1661 AMP@[2973; 2974) "&"
1662 PREFIX_EXPR@[2974; 2979)
1663 STAR@[2974; 2975) "*"
1664 LITERAL@[2975; 2979)
1665 STRING@[2975; 2979) "\"\\\\\""
1666 COMMA@[2979; 2980) ","
1667 LITERAL@[2980; 2986)
1668 CHAR@[2980; 2986) "\'🤔\'"
1669 R_PAREN@[2986; 2987) ")"
1670 COMMENT@[2987; 2991) "/**/"
1671 COMMA@[2991; 2992) ","
1672 BLOCK_EXPR@[2992; 2994)
1673 BLOCK@[2992; 2994)
1674 L_CURLY@[2992; 2993) "{"
1675 R_CURLY@[2993; 2994) "}"
1676 R_PAREN@[2994; 2995) ")"
1677 EQEQ@[2995; 2997) "=="
1678 BLOCK_EXPR@[2997; 3012)
1679 BLOCK@[2997; 3012)
1680 L_CURLY@[2997; 2998) "{"
1681 EXPR_STMT@[2998; 3011)
1682 REF_EXPR@[2998; 3010)
1683 AMP@[2998; 2999) "&"
1684 INDEX_EXPR@[2999; 3010)
1685 ARRAY_EXPR@[2999; 3006)
1686 L_BRACK@[2999; 3000) "["
1687 RANGE_EXPR@[3000; 3005)
1688 DOTDOTEQ@[3000; 3003) "..="
1689 RANGE_EXPR@[3003; 3005)
1690 DOTDOT@[3003; 3005) ".."
1691 R_BRACK@[3005; 3006) "]"
1692 L_BRACK@[3006; 3007) "["
1693 RANGE_EXPR@[3007; 3009)
1694 DOTDOT@[3007; 3009) ".."
1695 R_BRACK@[3009; 3010) "]"
1696 SEMI@[3010; 3011) ";"
1697 R_CURLY@[3011; 3012) "}"
1698 R_PAREN@[3012; 3013) ")"
1699 COMMENT@[3013; 3015) "//"
1700 WHITESPACE@[3015; 3020) "\n "
1701 SEMI@[3020; 3021) ";"
1702 WHITESPACE@[3021; 3026) "\n "
1703 EXPR_STMT@[3026; 3040)
1704 MACRO_CALL@[3026; 3039)
1705 PATH@[3026; 3032)
1706 PATH_SEGMENT@[3026; 3032)
1707 NAME_REF@[3026; 3032)
1708 IDENT@[3026; 3032) "assert"
1709 EXCL@[3032; 3033) "!"
1710 TOKEN_TREE@[3033; 3039)
1711 L_PAREN@[3033; 3034) "("
1712 EXCL@[3034; 3035) "!"
1713 IDENT@[3035; 3038) "val"
1714 R_PAREN@[3038; 3039) ")"
1715 SEMI@[3039; 3040) ";"
1716 WHITESPACE@[3040; 3041) "\n"
1717 R_CURLY@[3041; 3042) "}"
1718 WHITESPACE@[3042; 3044) "\n\n"
1719 FN_DEF@[3044; 3514)
1720 FN_KW@[3044; 3046) "fn"
1721 WHITESPACE@[3046; 3047) " "
1722 NAME@[3047; 3057)
1723 IDENT@[3047; 3057) "punch_card"
1724 PARAM_LIST@[3057; 3059)
1725 L_PAREN@[3057; 3058) "("
1726 R_PAREN@[3058; 3059) ")"
1727 WHITESPACE@[3059; 3060) " "
1728 RET_TYPE@[3060; 3083)
1729 THIN_ARROW@[3060; 3062) "->"
1730 WHITESPACE@[3062; 3063) " "
1731 IMPL_TRAIT_TYPE@[3063; 3083)
1732 IMPL_KW@[3063; 3067) "impl"
1733 WHITESPACE@[3067; 3068) " "
1734 TYPE_BOUND_LIST@[3068; 3083)
1735 TYPE_BOUND@[3068; 3083)
1736 PATH_TYPE@[3068; 3083)
1737 PATH@[3068; 3083)
1738 PATH@[3068; 3076)
1739 PATH@[3068; 3071)
1740 PATH_SEGMENT@[3068; 3071)
1741 NAME_REF@[3068; 3071)
1742 IDENT@[3068; 3071) "std"
1743 COLONCOLON@[3071; 3073) "::"
1744 PATH_SEGMENT@[3073; 3076)
1745 NAME_REF@[3073; 3076)
1746 IDENT@[3073; 3076) "fmt"
1747 COLONCOLON@[3076; 3078) "::"
1748 PATH_SEGMENT@[3078; 3083)
1749 NAME_REF@[3078; 3083)
1750 IDENT@[3078; 3083) "Debug"
1751 WHITESPACE@[3083; 3084) " "
1752 BLOCK@[3084; 3514)
1753 L_CURLY@[3084; 3085) "{"
1754 WHITESPACE@[3085; 3090) "\n "
1755 RANGE_EXPR@[3090; 3512)
1756 DOTDOTEQ@[3090; 3093) "..="
1757 RANGE_EXPR@[3093; 3512)
1758 DOTDOTEQ@[3093; 3096) "..="
1759 RANGE_EXPR@[3096; 3512)
1760 DOTDOT@[3096; 3098) ".."
1761 WHITESPACE@[3098; 3099) " "
1762 RANGE_EXPR@[3099; 3512)
1763 DOTDOT@[3099; 3101) ".."
1764 WHITESPACE@[3101; 3105) " "
1765 RANGE_EXPR@[3105; 3512)
1766 DOTDOT@[3105; 3107) ".."
1767 WHITESPACE@[3107; 3108) " "
1768 RANGE_EXPR@[3108; 3512)
1769 DOTDOT@[3108; 3110) ".."
1770 WHITESPACE@[3110; 3111) " "
1771 RANGE_EXPR@[3111; 3512)
1772 DOTDOT@[3111; 3113) ".."
1773 WHITESPACE@[3113; 3114) " "
1774 RANGE_EXPR@[3114; 3512)
1775 DOTDOT@[3114; 3116) ".."
1776 WHITESPACE@[3116; 3120) " "
1777 RANGE_EXPR@[3120; 3512)
1778 DOTDOT@[3120; 3122) ".."
1779 WHITESPACE@[3122; 3123) " "
1780 RANGE_EXPR@[3123; 3512)
1781 DOTDOT@[3123; 3125) ".."
1782 WHITESPACE@[3125; 3126) " "
1783 RANGE_EXPR@[3126; 3512)
1784 DOTDOT@[3126; 3128) ".."
1785 WHITESPACE@[3128; 3129) " "
1786 RANGE_EXPR@[3129; 3512)
1787 DOTDOT@[3129; 3131) ".."
1788 WHITESPACE@[3131; 3135) " "
1789 RANGE_EXPR@[3135; 3512)
1790 DOTDOT@[3135; 3137) ".."
1791 WHITESPACE@[3137; 3138) " "
1792 RANGE_EXPR@[3138; 3512)
1793 DOTDOTEQ@[3138; 3141) "..="
1794 RANGE_EXPR@[3141; 3512)
1795 DOTDOT@[3141; 3143) ".."
1796 WHITESPACE@[3143; 3144) " "
1797 RANGE_EXPR@[3144; 3512)
1798 DOTDOT@[3144; 3146) ".."
1799 WHITESPACE@[3146; 3151) "\n "
1800 RANGE_EXPR@[3151; 3512)
1801 DOTDOTEQ@[3151; 3154) "..="
1802 RANGE_EXPR@[3154; 3512)
1803 DOTDOT@[3154; 3156) ".."
1804 WHITESPACE@[3156; 3157) " "
1805 RANGE_EXPR@[3157; 3512)
1806 DOTDOTEQ@[3157; 3160) "..="
1807 RANGE_EXPR@[3160; 3512)
1808 DOTDOT@[3160; 3162) ".."
1809 WHITESPACE@[3162; 3166) " "
1810 RANGE_EXPR@[3166; 3512)
1811 DOTDOT@[3166; 3168) ".."
1812 WHITESPACE@[3168; 3169) " "
1813 RANGE_EXPR@[3169; 3512)
1814 DOTDOT@[3169; 3171) ".."
1815 WHITESPACE@[3171; 3172) " "
1816 RANGE_EXPR@[3172; 3512)
1817 DOTDOT@[3172; 3174) ".."
1818 WHITESPACE@[3174; 3175) " "
1819 RANGE_EXPR@[3175; 3512)
1820 DOTDOT@[3175; 3177) ".."
1821 WHITESPACE@[3177; 3181) " "
1822 RANGE_EXPR@[3181; 3512)
1823 DOTDOT@[3181; 3183) ".."
1824 WHITESPACE@[3183; 3184) " "
1825 RANGE_EXPR@[3184; 3512)
1826 DOTDOT@[3184; 3186) ".."
1827 WHITESPACE@[3186; 3187) " "
1828 RANGE_EXPR@[3187; 3512)
1829 DOTDOT@[3187; 3189) ".."
1830 WHITESPACE@[3189; 3190) " "
1831 RANGE_EXPR@[3190; 3512)
1832 DOTDOT@[3190; 3192) ".."
1833 WHITESPACE@[3192; 3196) " "
1834 RANGE_EXPR@[3196; 3512)
1835 DOTDOTEQ@[3196; 3199) "..="
1836 RANGE_EXPR@[3199; 3512)
1837 DOTDOTEQ@[3199; 3202) "..="
1838 RANGE_EXPR@[3202; 3512)
1839 DOTDOTEQ@[3202; 3205) "..="
1840 RANGE_EXPR@[3205; 3512)
1841 DOTDOT@[3205; 3207) ".."
1842 WHITESPACE@[3207; 3212) "\n "
1843 RANGE_EXPR@[3212; 3512)
1844 DOTDOTEQ@[3212; 3215) "..="
1845 RANGE_EXPR@[3215; 3512)
1846 DOTDOT@[3215; 3217) ".."
1847 WHITESPACE@[3217; 3218) " "
1848 RANGE_EXPR@[3218; 3512)
1849 DOTDOTEQ@[3218; 3221) "..="
1850 RANGE_EXPR@[3221; 3512)
1851 DOTDOT@[3221; 3223) ".."
1852 WHITESPACE@[3223; 3227) " "
1853 RANGE_EXPR@[3227; 3512)
1854 DOTDOTEQ@[3227; 3230) "..="
1855 RANGE_EXPR@[3230; 3512)
1856 DOTDOT@[3230; 3232) ".."
1857 WHITESPACE@[3232; 3233) " "
1858 RANGE_EXPR@[3233; 3512)
1859 DOTDOTEQ@[3233; 3236) "..="
1860 RANGE_EXPR@[3236; 3512)
1861 DOTDOT@[3236; 3238) ".."
1862 WHITESPACE@[3238; 3242) " "
1863 RANGE_EXPR@[3242; 3512)
1864 DOTDOT@[3242; 3244) ".."
1865 WHITESPACE@[3244; 3245) " "
1866 RANGE_EXPR@[3245; 3512)
1867 DOTDOTEQ@[3245; 3248) "..="
1868 RANGE_EXPR@[3248; 3512)
1869 DOTDOTEQ@[3248; 3251) "..="
1870 RANGE_EXPR@[3251; 3512)
1871 DOTDOT@[3251; 3253) ".."
1872 WHITESPACE@[3253; 3257) " "
1873 RANGE_EXPR@[3257; 3512)
1874 DOTDOT@[3257; 3259) ".."
1875 WHITESPACE@[3259; 3260) " "
1876 RANGE_EXPR@[3260; 3512)
1877 DOTDOTEQ@[3260; 3263) "..="
1878 RANGE_EXPR@[3263; 3512)
1879 DOTDOT@[3263; 3265) ".."
1880 WHITESPACE@[3265; 3266) " "
1881 RANGE_EXPR@[3266; 3512)
1882 DOTDOT@[3266; 3268) ".."
1883 WHITESPACE@[3268; 3273) "\n "
1884 RANGE_EXPR@[3273; 3512)
1885 DOTDOTEQ@[3273; 3276) "..="
1886 RANGE_EXPR@[3276; 3512)
1887 DOTDOTEQ@[3276; 3279) "..="
1888 RANGE_EXPR@[3279; 3512)
1889 DOTDOT@[3279; 3281) ".."
1890 WHITESPACE@[3281; 3282) " "
1891 RANGE_EXPR@[3282; 3512)
1892 DOTDOT@[3282; 3284) ".."
1893 WHITESPACE@[3284; 3288) " "
1894 RANGE_EXPR@[3288; 3512)
1895 DOTDOTEQ@[3288; 3291) "..="
1896 RANGE_EXPR@[3291; 3512)
1897 DOTDOT@[3291; 3293) ".."
1898 WHITESPACE@[3293; 3294) " "
1899 RANGE_EXPR@[3294; 3512)
1900 DOTDOTEQ@[3294; 3297) "..="
1901 RANGE_EXPR@[3297; 3512)
1902 DOTDOT@[3297; 3299) ".."
1903 WHITESPACE@[3299; 3303) " "
1904 RANGE_EXPR@[3303; 3512)
1905 DOTDOTEQ@[3303; 3306) "..="
1906 RANGE_EXPR@[3306; 3512)
1907 DOTDOT@[3306; 3308) ".."
1908 WHITESPACE@[3308; 3309) " "
1909 RANGE_EXPR@[3309; 3512)
1910 DOTDOT@[3309; 3311) ".."
1911 WHITESPACE@[3311; 3312) " "
1912 RANGE_EXPR@[3312; 3512)
1913 DOTDOT@[3312; 3314) ".."
1914 WHITESPACE@[3314; 3318) " "
1915 RANGE_EXPR@[3318; 3512)
1916 DOTDOT@[3318; 3320) ".."
1917 WHITESPACE@[3320; 3321) " "
1918 RANGE_EXPR@[3321; 3512)
1919 DOTDOTEQ@[3321; 3324) "..="
1920 RANGE_EXPR@[3324; 3512)
1921 DOTDOT@[3324; 3326) ".."
1922 WHITESPACE@[3326; 3327) " "
1923 RANGE_EXPR@[3327; 3512)
1924 DOTDOT@[3327; 3329) ".."
1925 WHITESPACE@[3329; 3334) "\n "
1926 RANGE_EXPR@[3334; 3512)
1927 DOTDOTEQ@[3334; 3337) "..="
1928 RANGE_EXPR@[3337; 3512)
1929 DOTDOT@[3337; 3339) ".."
1930 WHITESPACE@[3339; 3340) " "
1931 RANGE_EXPR@[3340; 3512)
1932 DOTDOTEQ@[3340; 3343) "..="
1933 RANGE_EXPR@[3343; 3512)
1934 DOTDOT@[3343; 3345) ".."
1935 WHITESPACE@[3345; 3349) " "
1936 RANGE_EXPR@[3349; 3512)
1937 DOTDOTEQ@[3349; 3352) "..="
1938 RANGE_EXPR@[3352; 3512)
1939 DOTDOT@[3352; 3354) ".."
1940 WHITESPACE@[3354; 3355) " "
1941 RANGE_EXPR@[3355; 3512)
1942 DOTDOTEQ@[3355; 3358) "..="
1943 RANGE_EXPR@[3358; 3512)
1944 DOTDOT@[3358; 3360) ".."
1945 WHITESPACE@[3360; 3364) " "
1946 RANGE_EXPR@[3364; 3512)
1947 DOTDOT@[3364; 3366) ".."
1948 WHITESPACE@[3366; 3367) " "
1949 RANGE_EXPR@[3367; 3512)
1950 DOTDOTEQ@[3367; 3370) "..="
1951 RANGE_EXPR@[3370; 3512)
1952 DOTDOT@[3370; 3372) ".."
1953 WHITESPACE@[3372; 3373) " "
1954 RANGE_EXPR@[3373; 3512)
1955 DOTDOT@[3373; 3375) ".."
1956 WHITESPACE@[3375; 3379) " "
1957 RANGE_EXPR@[3379; 3512)
1958 DOTDOT@[3379; 3381) ".."
1959 WHITESPACE@[3381; 3382) " "
1960 RANGE_EXPR@[3382; 3512)
1961 DOTDOTEQ@[3382; 3385) "..="
1962 RANGE_EXPR@[3385; 3512)
1963 DOTDOT@[3385; 3387) ".."
1964 WHITESPACE@[3387; 3388) " "
1965 RANGE_EXPR@[3388; 3512)
1966 DOTDOT@[3388; 3390) ".."
1967 WHITESPACE@[3390; 3395) "\n "
1968 RANGE_EXPR@[3395; 3512)
1969 DOTDOTEQ@[3395; 3398) "..="
1970 RANGE_EXPR@[3398; 3512)
1971 DOTDOT@[3398; 3400) ".."
1972 WHITESPACE@[3400; 3401) " "
1973 RANGE_EXPR@[3401; 3512)
1974 DOTDOTEQ@[3401; 3404) "..="
1975 RANGE_EXPR@[3404; 3512)
1976 DOTDOT@[3404; 3406) ".."
1977 WHITESPACE@[3406; 3410) " "
1978 RANGE_EXPR@[3410; 3512)
1979 DOTDOTEQ@[3410; 3413) "..="
1980 RANGE_EXPR@[3413; 3512)
1981 DOTDOT@[3413; 3415) ".."
1982 WHITESPACE@[3415; 3416) " "
1983 RANGE_EXPR@[3416; 3512)
1984 DOTDOTEQ@[3416; 3419) "..="
1985 RANGE_EXPR@[3419; 3512)
1986 DOTDOT@[3419; 3421) ".."
1987 WHITESPACE@[3421; 3425) " "
1988 RANGE_EXPR@[3425; 3512)
1989 DOTDOT@[3425; 3427) ".."
1990 WHITESPACE@[3427; 3428) " "
1991 RANGE_EXPR@[3428; 3512)
1992 DOTDOT@[3428; 3430) ".."
1993 WHITESPACE@[3430; 3431) " "
1994 RANGE_EXPR@[3431; 3512)
1995 DOTDOTEQ@[3431; 3434) "..="
1996 RANGE_EXPR@[3434; 3512)
1997 DOTDOT@[3434; 3436) ".."
1998 WHITESPACE@[3436; 3440) " "
1999 RANGE_EXPR@[3440; 3512)
2000 DOTDOT@[3440; 3442) ".."
2001 WHITESPACE@[3442; 3443) " "
2002 RANGE_EXPR@[3443; 3512)
2003 DOTDOTEQ@[3443; 3446) "..="
2004 RANGE_EXPR@[3446; 3512)
2005 DOTDOT@[3446; 3448) ".."
2006 WHITESPACE@[3448; 3449) " "
2007 RANGE_EXPR@[3449; 3512)
2008 DOTDOT@[3449; 3451) ".."
2009 WHITESPACE@[3451; 3456) "\n "
2010 RANGE_EXPR@[3456; 3512)
2011 DOTDOTEQ@[3456; 3459) "..="
2012 RANGE_EXPR@[3459; 3512)
2013 DOTDOT@[3459; 3461) ".."
2014 WHITESPACE@[3461; 3462) " "
2015 RANGE_EXPR@[3462; 3512)
2016 DOTDOTEQ@[3462; 3465) "..="
2017 RANGE_EXPR@[3465; 3512)
2018 DOTDOT@[3465; 3467) ".."
2019 WHITESPACE@[3467; 3471) " "
2020 RANGE_EXPR@[3471; 3512)
2021 DOTDOT@[3471; 3473) ".."
2022 WHITESPACE@[3473; 3474) " "
2023 RANGE_EXPR@[3474; 3512)
2024 DOTDOTEQ@[3474; 3477) "..="
2025 RANGE_EXPR@[3477; 3512)
2026 DOTDOTEQ@[3477; 3480) "..="
2027 RANGE_EXPR@[3480; 3512)
2028 DOTDOT@[3480; 3482) ".."
2029 WHITESPACE@[3482; 3486) " "
2030 RANGE_EXPR@[3486; 3512)
2031 DOTDOTEQ@[3486; 3489) "..="
2032 RANGE_EXPR@[3489; 3512)
2033 DOTDOTEQ@[3489; 3492) "..="
2034 RANGE_EXPR@[3492; 3512)
2035 DOTDOT@[3492; 3494) ".."
2036 WHITESPACE@[3494; 3495) " "
2037 RANGE_EXPR@[3495; 3512)
2038 DOTDOT@[3495; 3497) ".."
2039 WHITESPACE@[3497; 3501) " "
2040 RANGE_EXPR@[3501; 3512)
2041 DOTDOT@[3501; 3503) ".."
2042 WHITESPACE@[3503; 3504) " "
2043 RANGE_EXPR@[3504; 3512)
2044 DOTDOTEQ@[3504; 3507) "..="
2045 RANGE_EXPR@[3507; 3512)
2046 DOTDOT@[3507; 3509) ".."
2047 WHITESPACE@[3509; 3510) " "
2048 RANGE_EXPR@[3510; 3512)
2049 DOTDOT@[3510; 3512) ".."
2050 WHITESPACE@[3512; 3513) "\n"
2051 R_CURLY@[3513; 3514) "}"
2052 WHITESPACE@[3514; 3516) "\n\n"
2053 FN_DEF@[3516; 3552)
2054 FN_KW@[3516; 3518) "fn"
2055 WHITESPACE@[3518; 3519) " "
2056 NAME@[3519; 3525)
2057 IDENT@[3519; 3525) "ktulhu"
2058 PARAM_LIST@[3525; 3527)
2059 L_PAREN@[3525; 3526) "("
2060 R_PAREN@[3526; 3527) ")"
2061 WHITESPACE@[3527; 3528) " "
2062 BLOCK@[3528; 3552)
2063 L_CURLY@[3528; 3529) "{"
2064 WHITESPACE@[3529; 3534) "\n "
2065 SEMI@[3534; 3535) ";"
2066 SEMI@[3535; 3536) ";"
2067 SEMI@[3536; 3537) ";"
2068 EXPR_STMT@[3537; 3540)
2069 TUPLE_EXPR@[3537; 3539)
2070 L_PAREN@[3537; 3538) "("
2071 R_PAREN@[3538; 3539) ")"
2072 SEMI@[3539; 3540) ";"
2073 SEMI@[3540; 3541) ";"
2074 SEMI@[3541; 3542) ";"
2075 SEMI@[3542; 3543) ";"
2076 SEMI@[3543; 3544) ";"
2077 SEMI@[3544; 3545) ";"
2078 SEMI@[3545; 3546) ";"
2079 SEMI@[3546; 3547) ";"
2080 SEMI@[3547; 3548) ";"
2081 TUPLE_EXPR@[3548; 3550)
2082 L_PAREN@[3548; 3549) "("
2083 R_PAREN@[3549; 3550) ")"
2084 WHITESPACE@[3550; 3551) "\n"
2085 R_CURLY@[3551; 3552) "}"
2086 WHITESPACE@[3552; 3554) "\n\n"
2087 FN_DEF@[3554; 3812)
2088 VISIBILITY@[3554; 3557)
2089 PUB_KW@[3554; 3557) "pub"
2090 WHITESPACE@[3557; 3558) " "
2091 FN_KW@[3558; 3560) "fn"
2092 WHITESPACE@[3560; 3561) " "
2093 NAME@[3561; 3565)
2094 IDENT@[3561; 3565) "main"
2095 PARAM_LIST@[3565; 3567)
2096 L_PAREN@[3565; 3566) "("
2097 R_PAREN@[3566; 3567) ")"
2098 WHITESPACE@[3567; 3568) " "
2099 BLOCK@[3568; 3812)
2100 L_CURLY@[3568; 3569) "{"
2101 WHITESPACE@[3569; 3574) "\n "
2102 EXPR_STMT@[3574; 3584)
2103 CALL_EXPR@[3574; 3583)
2104 PATH_EXPR@[3574; 3581)
2105 PATH@[3574; 3581)
2106 PATH_SEGMENT@[3574; 3581)
2107 NAME_REF@[3574; 3581)
2108 IDENT@[3574; 3581) "strange"
2109 ARG_LIST@[3581; 3583)
2110 L_PAREN@[3581; 3582) "("
2111 R_PAREN@[3582; 3583) ")"
2112 SEMI@[3583; 3584) ";"
2113 WHITESPACE@[3584; 3589) "\n "
2114 EXPR_STMT@[3589; 3597)
2115 CALL_EXPR@[3589; 3596)
2116 PATH_EXPR@[3589; 3594)
2117 PATH@[3589; 3594)
2118 PATH_SEGMENT@[3589; 3594)
2119 NAME_REF@[3589; 3594)
2120 IDENT@[3589; 3594) "funny"
2121 ARG_LIST@[3594; 3596)
2122 L_PAREN@[3594; 3595) "("
2123 R_PAREN@[3595; 3596) ")"
2124 SEMI@[3596; 3597) ";"
2125 WHITESPACE@[3597; 3602) "\n "
2126 EXPR_STMT@[3602; 3609)
2127 CALL_EXPR@[3602; 3608)
2128 PATH_EXPR@[3602; 3606)
2129 PATH@[3602; 3606)
2130 PATH_SEGMENT@[3602; 3606)
2131 NAME_REF@[3602; 3606)
2132 IDENT@[3602; 3606) "what"
2133 ARG_LIST@[3606; 3608)
2134 L_PAREN@[3606; 3607) "("
2135 R_PAREN@[3607; 3608) ")"
2136 SEMI@[3608; 3609) ";"
2137 WHITESPACE@[3609; 3614) "\n "
2138 EXPR_STMT@[3614; 3628)
2139 CALL_EXPR@[3614; 3627)
2140 PATH_EXPR@[3614; 3625)
2141 PATH@[3614; 3625)
2142 PATH_SEGMENT@[3614; 3625)
2143 NAME_REF@[3614; 3625)
2144 IDENT@[3614; 3625) "zombiejesus"
2145 ARG_LIST@[3625; 3627)
2146 L_PAREN@[3625; 3626) "("
2147 R_PAREN@[3626; 3627) ")"
2148 SEMI@[3627; 3628) ";"
2149 WHITESPACE@[3628; 3633) "\n "
2150 EXPR_STMT@[3633; 3643)
2151 CALL_EXPR@[3633; 3642)
2152 PATH_EXPR@[3633; 3640)
2153 PATH@[3633; 3640)
2154 PATH_SEGMENT@[3633; 3640)
2155 NAME_REF@[3633; 3640)
2156 IDENT@[3633; 3640) "notsure"
2157 ARG_LIST@[3640; 3642)
2158 L_PAREN@[3640; 3641) "("
2159 R_PAREN@[3641; 3642) ")"
2160 SEMI@[3642; 3643) ";"
2161 WHITESPACE@[3643; 3648) "\n "
2162 EXPR_STMT@[3648; 3664)
2163 CALL_EXPR@[3648; 3663)
2164 PATH_EXPR@[3648; 3661)
2165 PATH@[3648; 3661)
2166 PATH_SEGMENT@[3648; 3661)
2167 NAME_REF@[3648; 3661)
2168 IDENT@[3648; 3661) "canttouchthis"
2169 ARG_LIST@[3661; 3663)
2170 L_PAREN@[3661; 3662) "("
2171 R_PAREN@[3662; 3663) ")"
2172 SEMI@[3663; 3664) ";"
2173 WHITESPACE@[3664; 3669) "\n "
2174 EXPR_STMT@[3669; 3681)
2175 CALL_EXPR@[3669; 3680)
2176 PATH_EXPR@[3669; 3678)
2177 PATH@[3669; 3678)
2178 PATH_SEGMENT@[3669; 3678)
2179 NAME_REF@[3669; 3678)
2180 IDENT@[3669; 3678) "angrydome"
2181 ARG_LIST@[3678; 3680)
2182 L_PAREN@[3678; 3679) "("
2183 R_PAREN@[3679; 3680) ")"
2184 SEMI@[3680; 3681) ";"
2185 WHITESPACE@[3681; 3686) "\n "
2186 EXPR_STMT@[3686; 3701)
2187 CALL_EXPR@[3686; 3700)
2188 PATH_EXPR@[3686; 3698)
2189 PATH@[3686; 3698)
2190 PATH_SEGMENT@[3686; 3698)
2191 NAME_REF@[3686; 3698)
2192 IDENT@[3686; 3698) "evil_lincoln"
2193 ARG_LIST@[3698; 3700)
2194 L_PAREN@[3698; 3699) "("
2195 R_PAREN@[3699; 3700) ")"
2196 SEMI@[3700; 3701) ";"
2197 WHITESPACE@[3701; 3706) "\n "
2198 EXPR_STMT@[3706; 3713)
2199 CALL_EXPR@[3706; 3712)
2200 PATH_EXPR@[3706; 3710)
2201 PATH@[3706; 3710)
2202 PATH_SEGMENT@[3706; 3710)
2203 NAME_REF@[3706; 3710)
2204 IDENT@[3706; 3710) "dots"
2205 ARG_LIST@[3710; 3712)
2206 L_PAREN@[3710; 3711) "("
2207 R_PAREN@[3711; 3712) ")"
2208 SEMI@[3712; 3713) ";"
2209 WHITESPACE@[3713; 3718) "\n "
2210 EXPR_STMT@[3718; 3726)
2211 CALL_EXPR@[3718; 3725)
2212 PATH_EXPR@[3718; 3720)
2213 PATH@[3718; 3720)
2214 PATH_SEGMENT@[3718; 3720)
2215 NAME_REF@[3718; 3720)
2216 IDENT@[3718; 3720) "u8"
2217 ARG_LIST@[3720; 3725)
2218 L_PAREN@[3720; 3721) "("
2219 LITERAL@[3721; 3724)
2220 INT_NUMBER@[3721; 3724) "8u8"
2221 R_PAREN@[3724; 3725) ")"
2222 SEMI@[3725; 3726) ";"
2223 WHITESPACE@[3726; 3731) "\n "
2224 EXPR_STMT@[3731; 3739)
2225 CALL_EXPR@[3731; 3738)
2226 PATH_EXPR@[3731; 3736)
2227 PATH@[3731; 3736)
2228 PATH_SEGMENT@[3731; 3736)
2229 NAME_REF@[3731; 3736)
2230 IDENT@[3731; 3736) "fishy"
2231 ARG_LIST@[3736; 3738)
2232 L_PAREN@[3736; 3737) "("
2233 R_PAREN@[3737; 3738) ")"
2234 SEMI@[3738; 3739) ";"
2235 WHITESPACE@[3739; 3744) "\n "
2236 EXPR_STMT@[3744; 3752)
2237 CALL_EXPR@[3744; 3751)
2238 PATH_EXPR@[3744; 3749)
2239 PATH@[3744; 3749)
2240 PATH_SEGMENT@[3744; 3749)
2241 NAME_REF@[3744; 3749)
2242 IDENT@[3744; 3749) "union"
2243 ARG_LIST@[3749; 3751)
2244 L_PAREN@[3749; 3750) "("
2245 R_PAREN@[3750; 3751) ")"
2246 SEMI@[3751; 3752) ";"
2247 WHITESPACE@[3752; 3757) "\n "
2248 EXPR_STMT@[3757; 3778)
2249 CALL_EXPR@[3757; 3777)
2250 PATH_EXPR@[3757; 3775)
2251 PATH@[3757; 3775)
2252 PATH_SEGMENT@[3757; 3775)
2253 NAME_REF@[3757; 3775)
2254 IDENT@[3757; 3775) "special_characters"
2255 ARG_LIST@[3775; 3777)
2256 L_PAREN@[3775; 3776) "("
2257 R_PAREN@[3776; 3777) ")"
2258 SEMI@[3777; 3778) ";"
2259 WHITESPACE@[3778; 3783) "\n "
2260 EXPR_STMT@[3783; 3796)
2261 CALL_EXPR@[3783; 3795)
2262 PATH_EXPR@[3783; 3793)
2263 PATH@[3783; 3793)
2264 PATH_SEGMENT@[3783; 3793)
2265 NAME_REF@[3783; 3793)
2266 IDENT@[3783; 3793) "punch_card"
2267 ARG_LIST@[3793; 3795)
2268 L_PAREN@[3793; 3794) "("
2269 R_PAREN@[3794; 3795) ")"
2270 SEMI@[3795; 3796) ";"
2271 WHITESPACE@[3796; 3801) "\n "
2272 EXPR_STMT@[3801; 3810)
2273 CALL_EXPR@[3801; 3809)
2274 PATH_EXPR@[3801; 3807)
2275 PATH@[3801; 3807)
2276 PATH_SEGMENT@[3801; 3807)
2277 NAME_REF@[3801; 3807)
2278 IDENT@[3801; 3807) "ktulhu"
2279 ARG_LIST@[3807; 3809)
2280 L_PAREN@[3807; 3808) "("
2281 R_PAREN@[3808; 3809) ")"
2282 SEMI@[3809; 3810) ";"
2283 WHITESPACE@[3810; 3811) "\n"
2284 R_CURLY@[3811; 3812) "}"
2285 WHITESPACE@[3812; 3813) "\n"