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