Add comment about the source of the weird_exprs test

This commit is contained in:
DJMcNab
2018-12-21 10:03:02 +00:00
parent da6be9fdda
commit 9beee92500
2 changed files with 2248 additions and 2235 deletions
@@ -1,3 +1,8 @@
//! Adapted from a `rustc` test, which can be found at
//! https://github.com/rust-lang/rust/blob/6d34ec18c7d7e574553f6347ecf08e1e1c45c13d/src/test/run-pass/weird-exprs.rs.
//!
//! Reported to rust-analyzer in https://github.com/rust-analyzer/rust-analyzer/issues/290
#![allow(non_camel_case_types)]
#![allow(dead_code)]
#![allow(unreachable_code)]
@@ -1,2236 +1,2244 @@
SOURCE_FILE@[0; 3542)
ATTR@[0; 31)
POUND@[0; 1)
EXCL@[1; 2)
TOKEN_TREE@[2; 31)
L_BRACK@[2; 3)
IDENT@[3; 8) "allow"
TOKEN_TREE@[8; 30)
L_PAREN@[8; 9)
IDENT@[9; 29) "non_camel_case_types"
R_PAREN@[29; 30)
R_BRACK@[30; 31)
WHITESPACE@[31; 32)
ATTR@[32; 52)
POUND@[32; 33)
EXCL@[33; 34)
TOKEN_TREE@[34; 52)
L_BRACK@[34; 35)
IDENT@[35; 40) "allow"
TOKEN_TREE@[40; 51)
L_PAREN@[40; 41)
IDENT@[41; 50) "dead_code"
R_PAREN@[50; 51)
R_BRACK@[51; 52)
WHITESPACE@[52; 53)
ATTR@[53; 80)
POUND@[53; 54)
EXCL@[54; 55)
TOKEN_TREE@[55; 80)
L_BRACK@[55; 56)
IDENT@[56; 61) "allow"
TOKEN_TREE@[61; 79)
L_PAREN@[61; 62)
IDENT@[62; 78) "unreachable_code"
R_PAREN@[78; 79)
R_BRACK@[79; 80)
WHITESPACE@[80; 81)
ATTR@[81; 105)
POUND@[81; 82)
EXCL@[82; 83)
TOKEN_TREE@[83; 105)
L_BRACK@[83; 84)
IDENT@[84; 89) "allow"
TOKEN_TREE@[89; 104)
L_PAREN@[89; 90)
IDENT@[90; 103) "unused_parens"
R_PAREN@[103; 104)
R_BRACK@[104; 105)
WHITESPACE@[105; 107)
ATTR@[107; 134)
POUND@[107; 108)
EXCL@[108; 109)
TOKEN_TREE@[109; 134)
L_BRACK@[109; 110)
IDENT@[110; 125) "recursion_limit"
WHITESPACE@[125; 126)
EQ@[126; 127)
WHITESPACE@[127; 128)
STRING@[128; 133)
R_BRACK@[133; 134)
WHITESPACE@[134; 136)
USE_ITEM@[136; 156)
USE_KW@[136; 139)
WHITESPACE@[139; 140)
USE_TREE@[140; 155)
PATH@[140; 155)
PATH@[140; 149)
PATH@[140; 143)
PATH_SEGMENT@[140; 143)
NAME_REF@[140; 143)
IDENT@[140; 143) "std"
COLONCOLON@[143; 145)
PATH_SEGMENT@[145; 149)
NAME_REF@[145; 149)
IDENT@[145; 149) "cell"
COLONCOLON@[149; 151)
PATH_SEGMENT@[151; 155)
NAME_REF@[151; 155)
IDENT@[151; 155) "Cell"
SEMI@[155; 156)
WHITESPACE@[156; 157)
USE_ITEM@[157; 176)
USE_KW@[157; 160)
WHITESPACE@[160; 161)
USE_TREE@[161; 175)
PATH@[161; 175)
PATH@[161; 169)
PATH@[161; 164)
PATH_SEGMENT@[161; 164)
NAME_REF@[161; 164)
IDENT@[161; 164) "std"
COLONCOLON@[164; 166)
PATH_SEGMENT@[166; 169)
NAME_REF@[166; 169)
IDENT@[166; 169) "mem"
COLONCOLON@[169; 171)
PATH_SEGMENT@[171; 175)
NAME_REF@[171; 175)
IDENT@[171; 175) "swap"
SEMI@[175; 176)
WHITESPACE@[176; 178)
COMMENT@[178; 247)
WHITESPACE@[247; 249)
FN_DEF@[249; 301)
FN_KW@[249; 251)
WHITESPACE@[251; 252)
NAME@[252; 259)
IDENT@[252; 259) "strange"
PARAM_LIST@[259; 261)
L_PAREN@[259; 260)
R_PAREN@[260; 261)
WHITESPACE@[261; 262)
RET_TYPE@[262; 269)
THIN_ARROW@[262; 264)
WHITESPACE@[264; 265)
PATH_TYPE@[265; 269)
PATH@[265; 269)
PATH_SEGMENT@[265; 269)
NAME_REF@[265; 269)
IDENT@[265; 269) "bool"
WHITESPACE@[269; 270)
BLOCK@[270; 301)
L_CURLY@[270; 271)
WHITESPACE@[271; 272)
LET_STMT@[272; 299)
LET_KW@[272; 275)
WHITESPACE@[275; 276)
BIND_PAT@[276; 278)
NAME@[276; 278)
IDENT@[276; 278) "_x"
COLON@[278; 279)
WHITESPACE@[279; 280)
PATH_TYPE@[280; 284)
PATH@[280; 284)
PATH_SEGMENT@[280; 284)
NAME_REF@[280; 284)
IDENT@[280; 284) "bool"
WHITESPACE@[284; 285)
EQ@[285; 286)
WHITESPACE@[286; 287)
RETURN_EXPR@[287; 298)
RETURN_KW@[287; 293)
WHITESPACE@[293; 294)
LITERAL@[294; 298)
TRUE_KW@[294; 298)
SEMI@[298; 299)
WHITESPACE@[299; 300)
R_CURLY@[300; 301)
WHITESPACE@[301; 303)
FN_DEF@[303; 353)
FN_KW@[303; 305)
WHITESPACE@[305; 306)
NAME@[306; 311)
IDENT@[306; 311) "funny"
PARAM_LIST@[311; 313)
L_PAREN@[311; 312)
R_PAREN@[312; 313)
WHITESPACE@[313; 314)
BLOCK@[314; 353)
L_CURLY@[314; 315)
WHITESPACE@[315; 320)
FN_DEF@[320; 336)
FN_KW@[320; 322)
WHITESPACE@[322; 323)
NAME@[323; 324)
IDENT@[323; 324) "f"
PARAM_LIST@[324; 332)
L_PAREN@[324; 325)
PARAM@[325; 331)
BIND_PAT@[325; 327)
NAME@[325; 327)
IDENT@[325; 327) "_x"
COLON@[327; 328)
WHITESPACE@[328; 329)
TUPLE_TYPE@[329; 331)
L_PAREN@[329; 330)
R_PAREN@[330; 331)
R_PAREN@[331; 332)
WHITESPACE@[332; 333)
BLOCK@[333; 336)
L_CURLY@[333; 334)
WHITESPACE@[334; 335)
R_CURLY@[335; 336)
WHITESPACE@[336; 341)
EXPR_STMT@[341; 351)
CALL_EXPR@[341; 350)
PATH_EXPR@[341; 342)
PATH@[341; 342)
PATH_SEGMENT@[341; 342)
NAME_REF@[341; 342)
IDENT@[341; 342) "f"
ARG_LIST@[342; 350)
L_PAREN@[342; 343)
RETURN_EXPR@[343; 349)
RETURN_KW@[343; 349)
R_PAREN@[349; 350)
SEMI@[350; 351)
WHITESPACE@[351; 352)
R_CURLY@[352; 353)
WHITESPACE@[353; 355)
FN_DEF@[355; 545)
FN_KW@[355; 357)
WHITESPACE@[357; 358)
NAME@[358; 362)
IDENT@[358; 362) "what"
PARAM_LIST@[362; 364)
L_PAREN@[362; 363)
R_PAREN@[363; 364)
WHITESPACE@[364; 365)
BLOCK@[365; 545)
L_CURLY@[365; 366)
WHITESPACE@[366; 371)
FN_DEF@[371; 449)
FN_KW@[371; 373)
WHITESPACE@[373; 374)
NAME@[374; 377)
IDENT@[374; 377) "the"
PARAM_LIST@[377; 393)
L_PAREN@[377; 378)
PARAM@[378; 392)
BIND_PAT@[378; 379)
NAME@[378; 379)
IDENT@[378; 379) "x"
COLON@[379; 380)
WHITESPACE@[380; 381)
REFERENCE_TYPE@[381; 392)
AMP@[381; 382)
PATH_TYPE@[382; 392)
PATH@[382; 392)
PATH_SEGMENT@[382; 392)
NAME_REF@[382; 386)
IDENT@[382; 386) "Cell"
TYPE_ARG_LIST@[386; 392)
L_ANGLE@[386; 387)
TYPE_ARG@[387; 391)
PATH_TYPE@[387; 391)
PATH@[387; 391)
PATH_SEGMENT@[387; 391)
NAME_REF@[387; 391)
IDENT@[387; 391) "bool"
R_ANGLE@[391; 392)
R_PAREN@[392; 393)
WHITESPACE@[393; 394)
BLOCK@[394; 449)
L_CURLY@[394; 395)
WHITESPACE@[395; 404)
EXPR_STMT@[404; 443)
RETURN_EXPR@[404; 442)
RETURN_KW@[404; 410)
WHITESPACE@[410; 411)
WHILE_EXPR@[411; 442)
WHILE_KW@[411; 416)
WHITESPACE@[416; 417)
CONDITION@[417; 425)
PREFIX_EXPR@[417; 425)
EXCL@[417; 418)
METHOD_CALL_EXPR@[418; 425)
PATH_EXPR@[418; 419)
PATH@[418; 419)
PATH_SEGMENT@[418; 419)
NAME_REF@[418; 419)
IDENT@[418; 419) "x"
DOT@[419; 420)
NAME_REF@[420; 423)
IDENT@[420; 423) "get"
ARG_LIST@[423; 425)
L_PAREN@[423; 424)
R_PAREN@[424; 425)
WHITESPACE@[425; 426)
BLOCK@[426; 442)
L_CURLY@[426; 427)
WHITESPACE@[427; 428)
EXPR_STMT@[428; 440)
METHOD_CALL_EXPR@[428; 439)
PATH_EXPR@[428; 429)
PATH@[428; 429)
PATH_SEGMENT@[428; 429)
NAME_REF@[428; 429)
IDENT@[428; 429) "x"
DOT@[429; 430)
NAME_REF@[430; 433)
IDENT@[430; 433) "set"
ARG_LIST@[433; 439)
L_PAREN@[433; 434)
LITERAL@[434; 438)
TRUE_KW@[434; 438)
R_PAREN@[438; 439)
SEMI@[439; 440)
WHITESPACE@[440; 441)
R_CURLY@[441; 442)
SEMI@[442; 443)
WHITESPACE@[443; 448)
R_CURLY@[448; 449)
WHITESPACE@[449; 454)
LET_STMT@[454; 480)
LET_KW@[454; 457)
WHITESPACE@[457; 458)
BIND_PAT@[458; 459)
NAME@[458; 459)
IDENT@[458; 459) "i"
WHITESPACE@[459; 460)
EQ@[460; 461)
WHITESPACE@[461; 462)
REF_EXPR@[462; 479)
AMP@[462; 463)
CALL_EXPR@[463; 479)
PATH_EXPR@[463; 472)
PATH@[463; 472)
PATH@[463; 467)
PATH_SEGMENT@[463; 467)
NAME_REF@[463; 467)
IDENT@[463; 467) "Cell"
COLONCOLON@[467; 469)
PATH_SEGMENT@[469; 472)
NAME_REF@[469; 472)
IDENT@[469; 472) "new"
ARG_LIST@[472; 479)
L_PAREN@[472; 473)
LITERAL@[473; 478)
FALSE_KW@[473; 478)
R_PAREN@[478; 479)
SEMI@[479; 480)
WHITESPACE@[480; 485)
LET_STMT@[485; 507)
LET_KW@[485; 488)
WHITESPACE@[488; 489)
BIND_PAT@[489; 493)
NAME@[489; 493)
IDENT@[489; 493) "dont"
WHITESPACE@[493; 494)
EQ@[494; 495)
WHITESPACE@[495; 496)
BLOCK_EXPR@[496; 506)
BLOCK@[496; 506)
L_CURLY@[496; 497)
LAMBDA_EXPR@[497; 505)
PARAM_LIST@[497; 499)
PIPE@[497; 498)
PIPE@[498; 499)
CALL_EXPR@[499; 505)
PATH_EXPR@[499; 502)
PATH@[499; 502)
PATH_SEGMENT@[499; 502)
NAME_REF@[499; 502)
IDENT@[499; 502) "the"
ARG_LIST@[502; 505)
L_PAREN@[502; 503)
PATH_EXPR@[503; 504)
PATH@[503; 504)
PATH_SEGMENT@[503; 504)
NAME_REF@[503; 504)
IDENT@[503; 504) "i"
R_PAREN@[504; 505)
R_CURLY@[505; 506)
SEMI@[506; 507)
WHITESPACE@[507; 512)
EXPR_STMT@[512; 519)
CALL_EXPR@[512; 518)
PATH_EXPR@[512; 516)
PATH@[512; 516)
PATH_SEGMENT@[512; 516)
NAME_REF@[512; 516)
IDENT@[512; 516) "dont"
ARG_LIST@[516; 518)
L_PAREN@[516; 517)
R_PAREN@[517; 518)
SEMI@[518; 519)
WHITESPACE@[519; 524)
EXPR_STMT@[524; 543)
MACRO_CALL@[524; 542)
PATH@[524; 530)
PATH_SEGMENT@[524; 530)
NAME_REF@[524; 530)
IDENT@[524; 530) "assert"
EXCL@[530; 531)
TOKEN_TREE@[531; 542)
L_PAREN@[531; 532)
TOKEN_TREE@[532; 541)
L_PAREN@[532; 533)
IDENT@[533; 534) "i"
DOT@[534; 535)
IDENT@[535; 538) "get"
TOKEN_TREE@[538; 540)
L_PAREN@[538; 539)
R_PAREN@[539; 540)
R_PAREN@[540; 541)
R_PAREN@[541; 542)
SEMI@[542; 543)
WHITESPACE@[543; 544)
R_CURLY@[544; 545)
WHITESPACE@[545; 547)
FN_DEF@[547; 1051)
FN_KW@[547; 549)
WHITESPACE@[549; 550)
NAME@[550; 561)
IDENT@[550; 561) "zombiejesus"
PARAM_LIST@[561; 563)
L_PAREN@[561; 562)
R_PAREN@[562; 563)
WHITESPACE@[563; 564)
BLOCK@[564; 1051)
L_CURLY@[564; 565)
WHITESPACE@[565; 570)
LOOP_EXPR@[570; 1049)
LOOP_KW@[570; 574)
WHITESPACE@[574; 575)
BLOCK@[575; 1049)
L_CURLY@[575; 576)
WHITESPACE@[576; 585)
EXPR_STMT@[585; 1012)
WHILE_EXPR@[585; 1012)
WHILE_KW@[585; 590)
WHITESPACE@[590; 591)
CONDITION@[591; 599)
PAREN_EXPR@[591; 599)
L_PAREN@[591; 592)
RETURN_EXPR@[592; 598)
RETURN_KW@[592; 598)
R_PAREN@[598; 599)
WHITESPACE@[599; 600)
BLOCK@[600; 1012)
L_CURLY@[600; 601)
WHITESPACE@[601; 614)
IF_EXPR@[614; 1002)
IF_KW@[614; 616)
WHITESPACE@[616; 617)
CONDITION@[617; 625)
PAREN_EXPR@[617; 625)
L_PAREN@[617; 618)
RETURN_EXPR@[618; 624)
RETURN_KW@[618; 624)
R_PAREN@[624; 625)
WHITESPACE@[625; 626)
BLOCK@[626; 945)
L_CURLY@[626; 627)
WHITESPACE@[627; 644)
EXPR_STMT@[644; 931)
MATCH_EXPR@[644; 930)
MATCH_KW@[644; 649)
WHITESPACE@[649; 650)
PAREN_EXPR@[650; 658)
L_PAREN@[650; 651)
RETURN_EXPR@[651; 657)
RETURN_KW@[651; 657)
R_PAREN@[657; 658)
WHITESPACE@[658; 659)
MATCH_ARM_LIST@[659; 930)
L_CURLY@[659; 660)
WHITESPACE@[660; 681)
MATCH_ARM@[681; 876)
LITERAL@[681; 682)
INT_NUMBER@[681; 682) "1"
WHITESPACE@[682; 683)
FAT_ARROW@[683; 685)
WHITESPACE@[685; 686)
BLOCK_EXPR@[686; 876)
BLOCK@[686; 876)
L_CURLY@[686; 687)
WHITESPACE@[687; 712)
IF_EXPR@[712; 854)
IF_KW@[712; 714)
WHITESPACE@[714; 715)
CONDITION@[715; 723)
PAREN_EXPR@[715; 723)
L_PAREN@[715; 716)
RETURN_EXPR@[716; 722)
RETURN_KW@[716; 722)
R_PAREN@[722; 723)
WHITESPACE@[723; 724)
BLOCK@[724; 786)
L_CURLY@[724; 725)
WHITESPACE@[725; 754)
RETURN_EXPR@[754; 760)
RETURN_KW@[754; 760)
WHITESPACE@[760; 785)
R_CURLY@[785; 786)
WHITESPACE@[786; 787)
ELSE_KW@[787; 791)
WHITESPACE@[791; 792)
BLOCK@[792; 854)
L_CURLY@[792; 793)
WHITESPACE@[793; 822)
RETURN_EXPR@[822; 828)
RETURN_KW@[822; 828)
WHITESPACE@[828; 853)
R_CURLY@[853; 854)
WHITESPACE@[854; 875)
R_CURLY@[875; 876)
WHITESPACE@[876; 897)
MATCH_ARM@[897; 912)
PLACEHOLDER_PAT@[897; 898)
UNDERSCORE@[897; 898)
WHITESPACE@[898; 899)
FAT_ARROW@[899; 901)
WHITESPACE@[901; 902)
BLOCK_EXPR@[902; 912)
BLOCK@[902; 912)
L_CURLY@[902; 903)
WHITESPACE@[903; 904)
RETURN_EXPR@[904; 910)
RETURN_KW@[904; 910)
WHITESPACE@[910; 911)
R_CURLY@[911; 912)
WHITESPACE@[912; 929)
R_CURLY@[929; 930)
SEMI@[930; 931)
WHITESPACE@[931; 944)
R_CURLY@[944; 945)
WHITESPACE@[945; 946)
ELSE_KW@[946; 950)
WHITESPACE@[950; 951)
IF_EXPR@[951; 1002)
IF_KW@[951; 953)
WHITESPACE@[953; 954)
CONDITION@[954; 962)
PAREN_EXPR@[954; 962)
L_PAREN@[954; 955)
RETURN_EXPR@[955; 961)
RETURN_KW@[955; 961)
R_PAREN@[961; 962)
WHITESPACE@[962; 963)
BLOCK@[963; 1002)
L_CURLY@[963; 964)
WHITESPACE@[964; 981)
EXPR_STMT@[981; 988)
RETURN_EXPR@[981; 987)
RETURN_KW@[981; 987)
SEMI@[987; 988)
WHITESPACE@[988; 1001)
R_CURLY@[1001; 1002)
WHITESPACE@[1002; 1011)
R_CURLY@[1011; 1012)
WHITESPACE@[1012; 1021)
IF_EXPR@[1021; 1043)
IF_KW@[1021; 1023)
WHITESPACE@[1023; 1024)
CONDITION@[1024; 1032)
PAREN_EXPR@[1024; 1032)
L_PAREN@[1024; 1025)
RETURN_EXPR@[1025; 1031)
RETURN_KW@[1025; 1031)
R_PAREN@[1031; 1032)
WHITESPACE@[1032; 1033)
BLOCK@[1033; 1043)
L_CURLY@[1033; 1034)
WHITESPACE@[1034; 1035)
EXPR_STMT@[1035; 1041)
BREAK_EXPR@[1035; 1040)
BREAK_KW@[1035; 1040)
SEMI@[1040; 1041)
WHITESPACE@[1041; 1042)
R_CURLY@[1042; 1043)
WHITESPACE@[1043; 1048)
R_CURLY@[1048; 1049)
WHITESPACE@[1049; 1050)
R_CURLY@[1050; 1051)
WHITESPACE@[1051; 1053)
FN_DEF@[1053; 1268)
FN_KW@[1053; 1055)
WHITESPACE@[1055; 1056)
NAME@[1056; 1063)
IDENT@[1056; 1063) "notsure"
PARAM_LIST@[1063; 1065)
L_PAREN@[1063; 1064)
R_PAREN@[1064; 1065)
WHITESPACE@[1065; 1066)
BLOCK@[1066; 1268)
L_CURLY@[1066; 1067)
WHITESPACE@[1067; 1072)
LET_STMT@[1072; 1090)
LET_KW@[1072; 1075)
WHITESPACE@[1075; 1076)
BIND_PAT@[1076; 1082)
MUT_KW@[1076; 1079)
WHITESPACE@[1079; 1080)
NAME@[1080; 1082)
IDENT@[1080; 1082) "_x"
COLON@[1082; 1083)
WHITESPACE@[1083; 1084)
PATH_TYPE@[1084; 1089)
PATH@[1084; 1089)
PATH_SEGMENT@[1084; 1089)
NAME_REF@[1084; 1089)
IDENT@[1084; 1089) "isize"
SEMI@[1089; 1090)
WHITESPACE@[1090; 1095)
LET_STMT@[1095; 1129)
LET_KW@[1095; 1098)
WHITESPACE@[1098; 1099)
BIND_PAT@[1099; 1105)
MUT_KW@[1099; 1102)
WHITESPACE@[1102; 1103)
NAME@[1103; 1105)
IDENT@[1103; 1105) "_y"
WHITESPACE@[1105; 1106)
EQ@[1106; 1107)
WHITESPACE@[1107; 1108)
BIN_EXPR@[1108; 1128)
PAREN_EXPR@[1108; 1116)
L_PAREN@[1108; 1109)
BIN_EXPR@[1109; 1115)
PATH_EXPR@[1109; 1111)
PATH@[1109; 1111)
PATH_SEGMENT@[1109; 1111)
NAME_REF@[1109; 1111)
IDENT@[1109; 1111) "_x"
WHITESPACE@[1111; 1112)
EQ@[1112; 1113)
WHITESPACE@[1113; 1114)
LITERAL@[1114; 1115)
INT_NUMBER@[1114; 1115) "0"
R_PAREN@[1115; 1116)
WHITESPACE@[1116; 1117)
EQEQ@[1117; 1119)
WHITESPACE@[1119; 1120)
PAREN_EXPR@[1120; 1128)
L_PAREN@[1120; 1121)
BIN_EXPR@[1121; 1127)
PATH_EXPR@[1121; 1123)
PATH@[1121; 1123)
PATH_SEGMENT@[1121; 1123)
NAME_REF@[1121; 1123)
IDENT@[1121; 1123) "_x"
WHITESPACE@[1123; 1124)
EQ@[1124; 1125)
WHITESPACE@[1125; 1126)
LITERAL@[1126; 1127)
INT_NUMBER@[1126; 1127) "0"
R_PAREN@[1127; 1128)
SEMI@[1128; 1129)
WHITESPACE@[1129; 1134)
LET_STMT@[1134; 1167)
LET_KW@[1134; 1137)
WHITESPACE@[1137; 1138)
BIND_PAT@[1138; 1144)
MUT_KW@[1138; 1141)
WHITESPACE@[1141; 1142)
NAME@[1142; 1144)
IDENT@[1142; 1144) "_z"
WHITESPACE@[1144; 1145)
EQ@[1145; 1146)
WHITESPACE@[1146; 1147)
BIN_EXPR@[1147; 1166)
PAREN_EXPR@[1147; 1155)
L_PAREN@[1147; 1148)
BIN_EXPR@[1148; 1154)
PATH_EXPR@[1148; 1150)
PATH@[1148; 1150)
PATH_SEGMENT@[1148; 1150)
NAME_REF@[1148; 1150)
IDENT@[1148; 1150) "_x"
WHITESPACE@[1150; 1151)
EQ@[1151; 1152)
WHITESPACE@[1152; 1153)
LITERAL@[1153; 1154)
INT_NUMBER@[1153; 1154) "0"
R_PAREN@[1154; 1155)
WHITESPACE@[1155; 1156)
L_ANGLE@[1156; 1157)
WHITESPACE@[1157; 1158)
PAREN_EXPR@[1158; 1166)
L_PAREN@[1158; 1159)
BIN_EXPR@[1159; 1165)
PATH_EXPR@[1159; 1161)
PATH@[1159; 1161)
PATH_SEGMENT@[1159; 1161)
NAME_REF@[1159; 1161)
IDENT@[1159; 1161) "_x"
WHITESPACE@[1161; 1162)
EQ@[1162; 1163)
WHITESPACE@[1163; 1164)
LITERAL@[1164; 1165)
INT_NUMBER@[1164; 1165) "0"
R_PAREN@[1165; 1166)
SEMI@[1166; 1167)
WHITESPACE@[1167; 1172)
LET_STMT@[1172; 1203)
LET_KW@[1172; 1175)
WHITESPACE@[1175; 1176)
BIND_PAT@[1176; 1178)
NAME@[1176; 1178)
IDENT@[1176; 1178) "_a"
WHITESPACE@[1178; 1179)
EQ@[1179; 1180)
WHITESPACE@[1180; 1181)
BIN_EXPR@[1181; 1202)
PAREN_EXPR@[1181; 1190)
L_PAREN@[1181; 1182)
BIN_EXPR@[1182; 1189)
PATH_EXPR@[1182; 1184)
PATH@[1182; 1184)
PATH_SEGMENT@[1182; 1184)
NAME_REF@[1182; 1184)
IDENT@[1182; 1184) "_x"
WHITESPACE@[1184; 1185)
PLUSEQ@[1185; 1187)
WHITESPACE@[1187; 1188)
LITERAL@[1188; 1189)
INT_NUMBER@[1188; 1189) "0"
R_PAREN@[1189; 1190)
WHITESPACE@[1190; 1191)
EQEQ@[1191; 1193)
WHITESPACE@[1193; 1194)
PAREN_EXPR@[1194; 1202)
L_PAREN@[1194; 1195)
BIN_EXPR@[1195; 1201)
PATH_EXPR@[1195; 1197)
PATH@[1195; 1197)
PATH_SEGMENT@[1195; 1197)
NAME_REF@[1195; 1197)
IDENT@[1195; 1197) "_x"
WHITESPACE@[1197; 1198)
EQ@[1198; 1199)
WHITESPACE@[1199; 1200)
LITERAL@[1200; 1201)
INT_NUMBER@[1200; 1201) "0"
R_PAREN@[1201; 1202)
SEMI@[1202; 1203)
WHITESPACE@[1203; 1208)
LET_STMT@[1208; 1266)
LET_KW@[1208; 1211)
WHITESPACE@[1211; 1212)
BIND_PAT@[1212; 1214)
NAME@[1212; 1214)
IDENT@[1212; 1214) "_b"
WHITESPACE@[1214; 1215)
EQ@[1215; 1216)
WHITESPACE@[1216; 1217)
BIN_EXPR@[1217; 1265)
CALL_EXPR@[1217; 1239)
PATH_EXPR@[1217; 1221)
PATH@[1217; 1221)
PATH_SEGMENT@[1217; 1221)
NAME_REF@[1217; 1221)
IDENT@[1217; 1221) "swap"
ARG_LIST@[1221; 1239)
L_PAREN@[1221; 1222)
REF_EXPR@[1222; 1229)
AMP@[1222; 1223)
MUT_KW@[1223; 1226)
WHITESPACE@[1226; 1227)
PATH_EXPR@[1227; 1229)
PATH@[1227; 1229)
PATH_SEGMENT@[1227; 1229)
NAME_REF@[1227; 1229)
IDENT@[1227; 1229) "_y"
COMMA@[1229; 1230)
WHITESPACE@[1230; 1231)
REF_EXPR@[1231; 1238)
AMP@[1231; 1232)
MUT_KW@[1232; 1235)
WHITESPACE@[1235; 1236)
PATH_EXPR@[1236; 1238)
PATH@[1236; 1238)
PATH_SEGMENT@[1236; 1238)
NAME_REF@[1236; 1238)
IDENT@[1236; 1238) "_z"
R_PAREN@[1238; 1239)
WHITESPACE@[1239; 1240)
EQEQ@[1240; 1242)
WHITESPACE@[1242; 1243)
CALL_EXPR@[1243; 1265)
PATH_EXPR@[1243; 1247)
PATH@[1243; 1247)
PATH_SEGMENT@[1243; 1247)
NAME_REF@[1243; 1247)
IDENT@[1243; 1247) "swap"
ARG_LIST@[1247; 1265)
L_PAREN@[1247; 1248)
REF_EXPR@[1248; 1255)
AMP@[1248; 1249)
MUT_KW@[1249; 1252)
WHITESPACE@[1252; 1253)
PATH_EXPR@[1253; 1255)
PATH@[1253; 1255)
PATH_SEGMENT@[1253; 1255)
NAME_REF@[1253; 1255)
IDENT@[1253; 1255) "_y"
COMMA@[1255; 1256)
WHITESPACE@[1256; 1257)
REF_EXPR@[1257; 1264)
AMP@[1257; 1258)
MUT_KW@[1258; 1261)
WHITESPACE@[1261; 1262)
PATH_EXPR@[1262; 1264)
PATH@[1262; 1264)
PATH_SEGMENT@[1262; 1264)
NAME_REF@[1262; 1264)
IDENT@[1262; 1264) "_z"
R_PAREN@[1264; 1265)
SEMI@[1265; 1266)
WHITESPACE@[1266; 1267)
R_CURLY@[1267; 1268)
WHITESPACE@[1268; 1270)
FN_DEF@[1270; 1470)
FN_KW@[1270; 1272)
WHITESPACE@[1272; 1273)
NAME@[1273; 1286)
IDENT@[1273; 1286) "canttouchthis"
PARAM_LIST@[1286; 1288)
L_PAREN@[1286; 1287)
R_PAREN@[1287; 1288)
WHITESPACE@[1288; 1289)
RET_TYPE@[1289; 1297)
THIN_ARROW@[1289; 1291)
WHITESPACE@[1291; 1292)
PATH_TYPE@[1292; 1297)
PATH@[1292; 1297)
PATH_SEGMENT@[1292; 1297)
NAME_REF@[1292; 1297)
IDENT@[1292; 1297) "usize"
WHITESPACE@[1297; 1298)
BLOCK@[1298; 1470)
L_CURLY@[1298; 1299)
WHITESPACE@[1299; 1304)
FN_DEF@[1304; 1327)
FN_KW@[1304; 1306)
WHITESPACE@[1306; 1307)
NAME@[1307; 1308)
IDENT@[1307; 1308) "p"
PARAM_LIST@[1308; 1310)
L_PAREN@[1308; 1309)
R_PAREN@[1309; 1310)
WHITESPACE@[1310; 1311)
RET_TYPE@[1311; 1318)
THIN_ARROW@[1311; 1313)
WHITESPACE@[1313; 1314)
PATH_TYPE@[1314; 1318)
PATH@[1314; 1318)
PATH_SEGMENT@[1314; 1318)
NAME_REF@[1314; 1318)
IDENT@[1314; 1318) "bool"
WHITESPACE@[1318; 1319)
BLOCK@[1319; 1327)
L_CURLY@[1319; 1320)
WHITESPACE@[1320; 1321)
LITERAL@[1321; 1325)
TRUE_KW@[1321; 1325)
WHITESPACE@[1325; 1326)
R_CURLY@[1326; 1327)
WHITESPACE@[1327; 1332)
LET_STMT@[1332; 1377)
LET_KW@[1332; 1335)
WHITESPACE@[1335; 1336)
BIND_PAT@[1336; 1338)
NAME@[1336; 1338)
IDENT@[1336; 1338) "_a"
WHITESPACE@[1338; 1339)
EQ@[1339; 1340)
WHITESPACE@[1340; 1341)
PAREN_EXPR@[1341; 1376)
L_PAREN@[1341; 1342)
BIN_EXPR@[1342; 1375)
MACRO_CALL@[1342; 1357)
PATH@[1342; 1348)
PATH_SEGMENT@[1342; 1348)
NAME_REF@[1342; 1348)
IDENT@[1342; 1348) "assert"
EXCL@[1348; 1349)
TOKEN_TREE@[1349; 1357)
L_PAREN@[1349; 1350)
TOKEN_TREE@[1350; 1356)
L_PAREN@[1350; 1351)
TRUE_KW@[1351; 1355)
R_PAREN@[1355; 1356)
R_PAREN@[1356; 1357)
WHITESPACE@[1357; 1358)
EQEQ@[1358; 1360)
WHITESPACE@[1360; 1361)
PAREN_EXPR@[1361; 1375)
L_PAREN@[1361; 1362)
MACRO_CALL@[1362; 1374)
PATH@[1362; 1368)
PATH_SEGMENT@[1362; 1368)
NAME_REF@[1362; 1368)
IDENT@[1362; 1368) "assert"
EXCL@[1368; 1369)
TOKEN_TREE@[1369; 1374)
L_PAREN@[1369; 1370)
IDENT@[1370; 1371) "p"
TOKEN_TREE@[1371; 1373)
L_PAREN@[1371; 1372)
R_PAREN@[1372; 1373)
R_PAREN@[1373; 1374)
R_PAREN@[1374; 1375)
R_PAREN@[1375; 1376)
SEMI@[1376; 1377)
WHITESPACE@[1377; 1382)
LET_STMT@[1382; 1414)
LET_KW@[1382; 1385)
WHITESPACE@[1385; 1386)
BIND_PAT@[1386; 1388)
NAME@[1386; 1388)
IDENT@[1386; 1388) "_c"
WHITESPACE@[1388; 1389)
EQ@[1389; 1390)
WHITESPACE@[1390; 1391)
PAREN_EXPR@[1391; 1413)
L_PAREN@[1391; 1392)
BIN_EXPR@[1392; 1412)
MACRO_CALL@[1392; 1406)
PATH@[1392; 1398)
PATH_SEGMENT@[1392; 1398)
NAME_REF@[1392; 1398)
IDENT@[1392; 1398) "assert"
EXCL@[1398; 1399)
TOKEN_TREE@[1399; 1406)
L_PAREN@[1399; 1400)
TOKEN_TREE@[1400; 1405)
L_PAREN@[1400; 1401)
IDENT@[1401; 1402) "p"
TOKEN_TREE@[1402; 1404)
L_PAREN@[1402; 1403)
R_PAREN@[1403; 1404)
R_PAREN@[1404; 1405)
R_PAREN@[1405; 1406)
WHITESPACE@[1406; 1407)
EQEQ@[1407; 1409)
WHITESPACE@[1409; 1410)
TUPLE_EXPR@[1410; 1412)
L_PAREN@[1410; 1411)
R_PAREN@[1411; 1412)
R_PAREN@[1412; 1413)
SEMI@[1413; 1414)
WHITESPACE@[1414; 1419)
LET_STMT@[1419; 1468)
LET_KW@[1419; 1422)
WHITESPACE@[1422; 1423)
BIND_PAT@[1423; 1425)
NAME@[1423; 1425)
IDENT@[1423; 1425) "_b"
COLON@[1425; 1426)
WHITESPACE@[1426; 1427)
PATH_TYPE@[1427; 1431)
PATH@[1427; 1431)
PATH_SEGMENT@[1427; 1431)
NAME_REF@[1427; 1431)
IDENT@[1427; 1431) "bool"
WHITESPACE@[1431; 1432)
EQ@[1432; 1433)
WHITESPACE@[1433; 1434)
PAREN_EXPR@[1434; 1467)
L_PAREN@[1434; 1435)
BIN_EXPR@[1435; 1466)
MACRO_CALL@[1435; 1452)
PATH@[1435; 1442)
PATH_SEGMENT@[1435; 1442)
NAME_REF@[1435; 1442)
IDENT@[1435; 1442) "println"
EXCL@[1442; 1443)
TOKEN_TREE@[1443; 1452)
L_PAREN@[1443; 1444)
STRING@[1444; 1448)
COMMA@[1448; 1449)
WHITESPACE@[1449; 1450)
INT_NUMBER@[1450; 1451) "0"
R_PAREN@[1451; 1452)
WHITESPACE@[1452; 1453)
EQEQ@[1453; 1455)
WHITESPACE@[1455; 1456)
PAREN_EXPR@[1456; 1466)
L_PAREN@[1456; 1457)
RETURN_EXPR@[1457; 1465)
RETURN_KW@[1457; 1463)
WHITESPACE@[1463; 1464)
LITERAL@[1464; 1465)
INT_NUMBER@[1464; 1465) "0"
R_PAREN@[1465; 1466)
R_PAREN@[1466; 1467)
SEMI@[1467; 1468)
WHITESPACE@[1468; 1469)
R_CURLY@[1469; 1470)
WHITESPACE@[1470; 1472)
FN_DEF@[1472; 1633)
FN_KW@[1472; 1474)
WHITESPACE@[1474; 1475)
NAME@[1475; 1484)
IDENT@[1475; 1484) "angrydome"
PARAM_LIST@[1484; 1486)
L_PAREN@[1484; 1485)
R_PAREN@[1485; 1486)
WHITESPACE@[1486; 1487)
BLOCK@[1487; 1633)
L_CURLY@[1487; 1488)
WHITESPACE@[1488; 1493)
EXPR_STMT@[1493; 1514)
LOOP_EXPR@[1493; 1514)
LOOP_KW@[1493; 1497)
WHITESPACE@[1497; 1498)
BLOCK@[1498; 1514)
L_CURLY@[1498; 1499)
WHITESPACE@[1499; 1500)
IF_EXPR@[1500; 1512)
IF_KW@[1500; 1502)
WHITESPACE@[1502; 1503)
CONDITION@[1503; 1508)
BREAK_EXPR@[1503; 1508)
BREAK_KW@[1503; 1508)
WHITESPACE@[1508; 1509)
BLOCK@[1509; 1512)
L_CURLY@[1509; 1510)
WHITESPACE@[1510; 1511)
R_CURLY@[1511; 1512)
WHITESPACE@[1512; 1513)
R_CURLY@[1513; 1514)
WHITESPACE@[1514; 1519)
LET_STMT@[1519; 1533)
LET_KW@[1519; 1522)
WHITESPACE@[1522; 1523)
BIND_PAT@[1523; 1528)
MUT_KW@[1523; 1526)
WHITESPACE@[1526; 1527)
NAME@[1527; 1528)
IDENT@[1527; 1528) "i"
WHITESPACE@[1528; 1529)
EQ@[1529; 1530)
WHITESPACE@[1530; 1531)
LITERAL@[1531; 1532)
INT_NUMBER@[1531; 1532) "0"
SEMI@[1532; 1533)
WHITESPACE@[1533; 1538)
LOOP_EXPR@[1538; 1631)
LOOP_KW@[1538; 1542)
WHITESPACE@[1542; 1543)
BLOCK@[1543; 1631)
L_CURLY@[1543; 1544)
WHITESPACE@[1544; 1545)
EXPR_STMT@[1545; 1552)
BIN_EXPR@[1545; 1551)
PATH_EXPR@[1545; 1546)
PATH@[1545; 1546)
PATH_SEGMENT@[1545; 1546)
NAME_REF@[1545; 1546)
IDENT@[1545; 1546) "i"
WHITESPACE@[1546; 1547)
PLUSEQ@[1547; 1549)
WHITESPACE@[1549; 1550)
LITERAL@[1550; 1551)
INT_NUMBER@[1550; 1551) "1"
SEMI@[1551; 1552)
WHITESPACE@[1552; 1553)
EXPR_STMT@[1553; 1616)
IF_EXPR@[1553; 1616)
IF_KW@[1553; 1555)
WHITESPACE@[1555; 1556)
CONDITION@[1556; 1562)
BIN_EXPR@[1556; 1562)
PATH_EXPR@[1556; 1557)
PATH@[1556; 1557)
PATH_SEGMENT@[1556; 1557)
NAME_REF@[1556; 1557)
IDENT@[1556; 1557) "i"
WHITESPACE@[1557; 1558)
EQEQ@[1558; 1560)
WHITESPACE@[1560; 1561)
LITERAL@[1561; 1562)
INT_NUMBER@[1561; 1562) "1"
WHITESPACE@[1562; 1563)
BLOCK@[1563; 1616)
L_CURLY@[1563; 1564)
WHITESPACE@[1564; 1565)
MATCH_EXPR@[1565; 1614)
MATCH_KW@[1565; 1570)
WHITESPACE@[1570; 1571)
PAREN_EXPR@[1571; 1581)
L_PAREN@[1571; 1572)
CONTINUE_EXPR@[1572; 1580)
CONTINUE_KW@[1572; 1580)
R_PAREN@[1580; 1581)
WHITESPACE@[1581; 1582)
MATCH_ARM_LIST@[1582; 1614)
L_CURLY@[1582; 1583)
WHITESPACE@[1583; 1584)
MATCH_ARM@[1584; 1592)
LITERAL@[1584; 1585)
INT_NUMBER@[1584; 1585) "1"
WHITESPACE@[1585; 1586)
FAT_ARROW@[1586; 1588)
WHITESPACE@[1588; 1589)
BLOCK_EXPR@[1589; 1592)
BLOCK@[1589; 1592)
L_CURLY@[1589; 1590)
WHITESPACE@[1590; 1591)
R_CURLY@[1591; 1592)
COMMA@[1592; 1593)
WHITESPACE@[1593; 1594)
MATCH_ARM@[1594; 1612)
PLACEHOLDER_PAT@[1594; 1595)
UNDERSCORE@[1594; 1595)
WHITESPACE@[1595; 1596)
FAT_ARROW@[1596; 1598)
WHITESPACE@[1598; 1599)
MACRO_CALL@[1599; 1612)
PATH@[1599; 1604)
PATH_SEGMENT@[1599; 1604)
NAME_REF@[1599; 1604)
IDENT@[1599; 1604) "panic"
EXCL@[1604; 1605)
TOKEN_TREE@[1605; 1612)
L_PAREN@[1605; 1606)
STRING@[1606; 1611)
R_PAREN@[1611; 1612)
WHITESPACE@[1612; 1613)
R_CURLY@[1613; 1614)
WHITESPACE@[1614; 1615)
R_CURLY@[1615; 1616)
WHITESPACE@[1616; 1623)
EXPR_STMT@[1623; 1629)
BREAK_EXPR@[1623; 1628)
BREAK_KW@[1623; 1628)
SEMI@[1628; 1629)
WHITESPACE@[1629; 1630)
R_CURLY@[1630; 1631)
WHITESPACE@[1631; 1632)
R_CURLY@[1632; 1633)
WHITESPACE@[1633; 1635)
FN_DEF@[1635; 1689)
FN_KW@[1635; 1637)
WHITESPACE@[1637; 1638)
NAME@[1638; 1650)
IDENT@[1638; 1650) "evil_lincoln"
PARAM_LIST@[1650; 1652)
L_PAREN@[1650; 1651)
R_PAREN@[1651; 1652)
WHITESPACE@[1652; 1653)
BLOCK@[1653; 1689)
L_CURLY@[1653; 1654)
WHITESPACE@[1654; 1655)
LET_STMT@[1655; 1687)
LET_KW@[1655; 1658)
WHITESPACE@[1658; 1659)
BIND_PAT@[1659; 1664)
NAME@[1659; 1664)
IDENT@[1659; 1664) "_evil"
WHITESPACE@[1664; 1665)
EQ@[1665; 1666)
WHITESPACE@[1666; 1667)
MACRO_CALL@[1667; 1686)
PATH@[1667; 1674)
PATH_SEGMENT@[1667; 1674)
NAME_REF@[1667; 1674)
IDENT@[1667; 1674) "println"
EXCL@[1674; 1675)
TOKEN_TREE@[1675; 1686)
L_PAREN@[1675; 1676)
STRING@[1676; 1685)
R_PAREN@[1685; 1686)
SEMI@[1686; 1687)
WHITESPACE@[1687; 1688)
R_CURLY@[1688; 1689)
WHITESPACE@[1689; 1691)
FN_DEF@[1691; 1927)
FN_KW@[1691; 1693)
WHITESPACE@[1693; 1694)
NAME@[1694; 1698)
IDENT@[1694; 1698) "dots"
PARAM_LIST@[1698; 1700)
L_PAREN@[1698; 1699)
R_PAREN@[1699; 1700)
WHITESPACE@[1700; 1701)
BLOCK@[1701; 1927)
L_CURLY@[1701; 1702)
WHITESPACE@[1702; 1707)
EXPR_STMT@[1707; 1925)
MACRO_CALL@[1707; 1924)
PATH@[1707; 1716)
PATH_SEGMENT@[1707; 1716)
NAME_REF@[1707; 1716)
IDENT@[1707; 1716) "assert_eq"
EXCL@[1716; 1717)
TOKEN_TREE@[1717; 1924)
L_PAREN@[1717; 1718)
IDENT@[1718; 1724) "String"
COLONCOLON@[1724; 1726)
IDENT@[1726; 1730) "from"
TOKEN_TREE@[1730; 1784)
L_PAREN@[1730; 1731)
STRING@[1731; 1783)
R_PAREN@[1783; 1784)
COMMA@[1784; 1785)
WHITESPACE@[1785; 1801)
IDENT@[1801; 1807) "format"
EXCL@[1807; 1808)
TOKEN_TREE@[1808; 1923)
L_PAREN@[1808; 1809)
STRING@[1809; 1815)
COMMA@[1815; 1816)
WHITESPACE@[1816; 1817)
DOTDOT@[1817; 1819)
WHITESPACE@[1819; 1820)
DOTDOT@[1820; 1822)
WHITESPACE@[1822; 1823)
DOTDOT@[1823; 1825)
WHITESPACE@[1825; 1826)
DOTDOT@[1826; 1828)
WHITESPACE@[1828; 1829)
DOTDOT@[1829; 1831)
WHITESPACE@[1831; 1832)
DOTDOT@[1832; 1834)
WHITESPACE@[1834; 1835)
DOTDOT@[1835; 1837)
WHITESPACE@[1837; 1838)
DOTDOT@[1838; 1840)
WHITESPACE@[1840; 1841)
DOTDOT@[1841; 1843)
WHITESPACE@[1843; 1844)
DOTDOT@[1844; 1846)
WHITESPACE@[1846; 1847)
DOTDOT@[1847; 1849)
WHITESPACE@[1849; 1850)
DOTDOT@[1850; 1852)
WHITESPACE@[1852; 1853)
DOTDOT@[1853; 1855)
WHITESPACE@[1855; 1887)
DOTDOT@[1887; 1889)
WHITESPACE@[1889; 1890)
DOTDOT@[1890; 1892)
WHITESPACE@[1892; 1893)
DOTDOT@[1893; 1895)
WHITESPACE@[1895; 1896)
DOTDOT@[1896; 1898)
WHITESPACE@[1898; 1899)
DOTDOT@[1899; 1901)
WHITESPACE@[1901; 1902)
DOTDOT@[1902; 1904)
WHITESPACE@[1904; 1905)
DOTDOT@[1905; 1907)
WHITESPACE@[1907; 1908)
DOTDOT@[1908; 1910)
WHITESPACE@[1910; 1911)
DOTDOT@[1911; 1913)
WHITESPACE@[1913; 1914)
DOTDOT@[1914; 1916)
WHITESPACE@[1916; 1917)
DOTDOT@[1917; 1919)
WHITESPACE@[1919; 1920)
DOTDOT@[1920; 1922)
R_PAREN@[1922; 1923)
R_PAREN@[1923; 1924)
SEMI@[1924; 1925)
SOURCE_FILE@[0; 3813)
COMMENT@[0; 55)
WHITESPACE@[55; 56)
COMMENT@[56; 173)
WHITESPACE@[173; 174)
COMMENT@[174; 178)
WHITESPACE@[178; 179)
COMMENT@[179; 269)
WHITESPACE@[269; 271)
ATTR@[271; 302)
POUND@[271; 272)
EXCL@[272; 273)
TOKEN_TREE@[273; 302)
L_BRACK@[273; 274)
IDENT@[274; 279) "allow"
TOKEN_TREE@[279; 301)
L_PAREN@[279; 280)
IDENT@[280; 300) "non_camel_case_types"
R_PAREN@[300; 301)
R_BRACK@[301; 302)
WHITESPACE@[302; 303)
ATTR@[303; 323)
POUND@[303; 304)
EXCL@[304; 305)
TOKEN_TREE@[305; 323)
L_BRACK@[305; 306)
IDENT@[306; 311) "allow"
TOKEN_TREE@[311; 322)
L_PAREN@[311; 312)
IDENT@[312; 321) "dead_code"
R_PAREN@[321; 322)
R_BRACK@[322; 323)
WHITESPACE@[323; 324)
ATTR@[324; 351)
POUND@[324; 325)
EXCL@[325; 326)
TOKEN_TREE@[326; 351)
L_BRACK@[326; 327)
IDENT@[327; 332) "allow"
TOKEN_TREE@[332; 350)
L_PAREN@[332; 333)
IDENT@[333; 349) "unreachable_code"
R_PAREN@[349; 350)
R_BRACK@[350; 351)
WHITESPACE@[351; 352)
ATTR@[352; 376)
POUND@[352; 353)
EXCL@[353; 354)
TOKEN_TREE@[354; 376)
L_BRACK@[354; 355)
IDENT@[355; 360) "allow"
TOKEN_TREE@[360; 375)
L_PAREN@[360; 361)
IDENT@[361; 374) "unused_parens"
R_PAREN@[374; 375)
R_BRACK@[375; 376)
WHITESPACE@[376; 378)
ATTR@[378; 405)
POUND@[378; 379)
EXCL@[379; 380)
TOKEN_TREE@[380; 405)
L_BRACK@[380; 381)
IDENT@[381; 396) "recursion_limit"
WHITESPACE@[396; 397)
EQ@[397; 398)
WHITESPACE@[398; 399)
STRING@[399; 404)
R_BRACK@[404; 405)
WHITESPACE@[405; 407)
USE_ITEM@[407; 427)
USE_KW@[407; 410)
WHITESPACE@[410; 411)
USE_TREE@[411; 426)
PATH@[411; 426)
PATH@[411; 420)
PATH@[411; 414)
PATH_SEGMENT@[411; 414)
NAME_REF@[411; 414)
IDENT@[411; 414) "std"
COLONCOLON@[414; 416)
PATH_SEGMENT@[416; 420)
NAME_REF@[416; 420)
IDENT@[416; 420) "cell"
COLONCOLON@[420; 422)
PATH_SEGMENT@[422; 426)
NAME_REF@[422; 426)
IDENT@[422; 426) "Cell"
SEMI@[426; 427)
WHITESPACE@[427; 428)
USE_ITEM@[428; 447)
USE_KW@[428; 431)
WHITESPACE@[431; 432)
USE_TREE@[432; 446)
PATH@[432; 446)
PATH@[432; 440)
PATH@[432; 435)
PATH_SEGMENT@[432; 435)
NAME_REF@[432; 435)
IDENT@[432; 435) "std"
COLONCOLON@[435; 437)
PATH_SEGMENT@[437; 440)
NAME_REF@[437; 440)
IDENT@[437; 440) "mem"
COLONCOLON@[440; 442)
PATH_SEGMENT@[442; 446)
NAME_REF@[442; 446)
IDENT@[442; 446) "swap"
SEMI@[446; 447)
WHITESPACE@[447; 449)
COMMENT@[449; 518)
WHITESPACE@[518; 520)
FN_DEF@[520; 572)
FN_KW@[520; 522)
WHITESPACE@[522; 523)
NAME@[523; 530)
IDENT@[523; 530) "strange"
PARAM_LIST@[530; 532)
L_PAREN@[530; 531)
R_PAREN@[531; 532)
WHITESPACE@[532; 533)
RET_TYPE@[533; 540)
THIN_ARROW@[533; 535)
WHITESPACE@[535; 536)
PATH_TYPE@[536; 540)
PATH@[536; 540)
PATH_SEGMENT@[536; 540)
NAME_REF@[536; 540)
IDENT@[536; 540) "bool"
WHITESPACE@[540; 541)
BLOCK@[541; 572)
L_CURLY@[541; 542)
WHITESPACE@[542; 543)
LET_STMT@[543; 570)
LET_KW@[543; 546)
WHITESPACE@[546; 547)
BIND_PAT@[547; 549)
NAME@[547; 549)
IDENT@[547; 549) "_x"
COLON@[549; 550)
WHITESPACE@[550; 551)
PATH_TYPE@[551; 555)
PATH@[551; 555)
PATH_SEGMENT@[551; 555)
NAME_REF@[551; 555)
IDENT@[551; 555) "bool"
WHITESPACE@[555; 556)
EQ@[556; 557)
WHITESPACE@[557; 558)
RETURN_EXPR@[558; 569)
RETURN_KW@[558; 564)
WHITESPACE@[564; 565)
LITERAL@[565; 569)
TRUE_KW@[565; 569)
SEMI@[569; 570)
WHITESPACE@[570; 571)
R_CURLY@[571; 572)
WHITESPACE@[572; 574)
FN_DEF@[574; 624)
FN_KW@[574; 576)
WHITESPACE@[576; 577)
NAME@[577; 582)
IDENT@[577; 582) "funny"
PARAM_LIST@[582; 584)
L_PAREN@[582; 583)
R_PAREN@[583; 584)
WHITESPACE@[584; 585)
BLOCK@[585; 624)
L_CURLY@[585; 586)
WHITESPACE@[586; 591)
FN_DEF@[591; 607)
FN_KW@[591; 593)
WHITESPACE@[593; 594)
NAME@[594; 595)
IDENT@[594; 595) "f"
PARAM_LIST@[595; 603)
L_PAREN@[595; 596)
PARAM@[596; 602)
BIND_PAT@[596; 598)
NAME@[596; 598)
IDENT@[596; 598) "_x"
COLON@[598; 599)
WHITESPACE@[599; 600)
TUPLE_TYPE@[600; 602)
L_PAREN@[600; 601)
R_PAREN@[601; 602)
R_PAREN@[602; 603)
WHITESPACE@[603; 604)
BLOCK@[604; 607)
L_CURLY@[604; 605)
WHITESPACE@[605; 606)
R_CURLY@[606; 607)
WHITESPACE@[607; 612)
EXPR_STMT@[612; 622)
CALL_EXPR@[612; 621)
PATH_EXPR@[612; 613)
PATH@[612; 613)
PATH_SEGMENT@[612; 613)
NAME_REF@[612; 613)
IDENT@[612; 613) "f"
ARG_LIST@[613; 621)
L_PAREN@[613; 614)
RETURN_EXPR@[614; 620)
RETURN_KW@[614; 620)
R_PAREN@[620; 621)
SEMI@[621; 622)
WHITESPACE@[622; 623)
R_CURLY@[623; 624)
WHITESPACE@[624; 626)
FN_DEF@[626; 816)
FN_KW@[626; 628)
WHITESPACE@[628; 629)
NAME@[629; 633)
IDENT@[629; 633) "what"
PARAM_LIST@[633; 635)
L_PAREN@[633; 634)
R_PAREN@[634; 635)
WHITESPACE@[635; 636)
BLOCK@[636; 816)
L_CURLY@[636; 637)
WHITESPACE@[637; 642)
FN_DEF@[642; 720)
FN_KW@[642; 644)
WHITESPACE@[644; 645)
NAME@[645; 648)
IDENT@[645; 648) "the"
PARAM_LIST@[648; 664)
L_PAREN@[648; 649)
PARAM@[649; 663)
BIND_PAT@[649; 650)
NAME@[649; 650)
IDENT@[649; 650) "x"
COLON@[650; 651)
WHITESPACE@[651; 652)
REFERENCE_TYPE@[652; 663)
AMP@[652; 653)
PATH_TYPE@[653; 663)
PATH@[653; 663)
PATH_SEGMENT@[653; 663)
NAME_REF@[653; 657)
IDENT@[653; 657) "Cell"
TYPE_ARG_LIST@[657; 663)
L_ANGLE@[657; 658)
TYPE_ARG@[658; 662)
PATH_TYPE@[658; 662)
PATH@[658; 662)
PATH_SEGMENT@[658; 662)
NAME_REF@[658; 662)
IDENT@[658; 662) "bool"
R_ANGLE@[662; 663)
R_PAREN@[663; 664)
WHITESPACE@[664; 665)
BLOCK@[665; 720)
L_CURLY@[665; 666)
WHITESPACE@[666; 675)
EXPR_STMT@[675; 714)
RETURN_EXPR@[675; 713)
RETURN_KW@[675; 681)
WHITESPACE@[681; 682)
WHILE_EXPR@[682; 713)
WHILE_KW@[682; 687)
WHITESPACE@[687; 688)
CONDITION@[688; 696)
PREFIX_EXPR@[688; 696)
EXCL@[688; 689)
METHOD_CALL_EXPR@[689; 696)
PATH_EXPR@[689; 690)
PATH@[689; 690)
PATH_SEGMENT@[689; 690)
NAME_REF@[689; 690)
IDENT@[689; 690) "x"
DOT@[690; 691)
NAME_REF@[691; 694)
IDENT@[691; 694) "get"
ARG_LIST@[694; 696)
L_PAREN@[694; 695)
R_PAREN@[695; 696)
WHITESPACE@[696; 697)
BLOCK@[697; 713)
L_CURLY@[697; 698)
WHITESPACE@[698; 699)
EXPR_STMT@[699; 711)
METHOD_CALL_EXPR@[699; 710)
PATH_EXPR@[699; 700)
PATH@[699; 700)
PATH_SEGMENT@[699; 700)
NAME_REF@[699; 700)
IDENT@[699; 700) "x"
DOT@[700; 701)
NAME_REF@[701; 704)
IDENT@[701; 704) "set"
ARG_LIST@[704; 710)
L_PAREN@[704; 705)
LITERAL@[705; 709)
TRUE_KW@[705; 709)
R_PAREN@[709; 710)
SEMI@[710; 711)
WHITESPACE@[711; 712)
R_CURLY@[712; 713)
SEMI@[713; 714)
WHITESPACE@[714; 719)
R_CURLY@[719; 720)
WHITESPACE@[720; 725)
LET_STMT@[725; 751)
LET_KW@[725; 728)
WHITESPACE@[728; 729)
BIND_PAT@[729; 730)
NAME@[729; 730)
IDENT@[729; 730) "i"
WHITESPACE@[730; 731)
EQ@[731; 732)
WHITESPACE@[732; 733)
REF_EXPR@[733; 750)
AMP@[733; 734)
CALL_EXPR@[734; 750)
PATH_EXPR@[734; 743)
PATH@[734; 743)
PATH@[734; 738)
PATH_SEGMENT@[734; 738)
NAME_REF@[734; 738)
IDENT@[734; 738) "Cell"
COLONCOLON@[738; 740)
PATH_SEGMENT@[740; 743)
NAME_REF@[740; 743)
IDENT@[740; 743) "new"
ARG_LIST@[743; 750)
L_PAREN@[743; 744)
LITERAL@[744; 749)
FALSE_KW@[744; 749)
R_PAREN@[749; 750)
SEMI@[750; 751)
WHITESPACE@[751; 756)
LET_STMT@[756; 778)
LET_KW@[756; 759)
WHITESPACE@[759; 760)
BIND_PAT@[760; 764)
NAME@[760; 764)
IDENT@[760; 764) "dont"
WHITESPACE@[764; 765)
EQ@[765; 766)
WHITESPACE@[766; 767)
BLOCK_EXPR@[767; 777)
BLOCK@[767; 777)
L_CURLY@[767; 768)
LAMBDA_EXPR@[768; 776)
PARAM_LIST@[768; 770)
PIPE@[768; 769)
PIPE@[769; 770)
CALL_EXPR@[770; 776)
PATH_EXPR@[770; 773)
PATH@[770; 773)
PATH_SEGMENT@[770; 773)
NAME_REF@[770; 773)
IDENT@[770; 773) "the"
ARG_LIST@[773; 776)
L_PAREN@[773; 774)
PATH_EXPR@[774; 775)
PATH@[774; 775)
PATH_SEGMENT@[774; 775)
NAME_REF@[774; 775)
IDENT@[774; 775) "i"
R_PAREN@[775; 776)
R_CURLY@[776; 777)
SEMI@[777; 778)
WHITESPACE@[778; 783)
EXPR_STMT@[783; 790)
CALL_EXPR@[783; 789)
PATH_EXPR@[783; 787)
PATH@[783; 787)
PATH_SEGMENT@[783; 787)
NAME_REF@[783; 787)
IDENT@[783; 787) "dont"
ARG_LIST@[787; 789)
L_PAREN@[787; 788)
R_PAREN@[788; 789)
SEMI@[789; 790)
WHITESPACE@[790; 795)
EXPR_STMT@[795; 814)
MACRO_CALL@[795; 813)
PATH@[795; 801)
PATH_SEGMENT@[795; 801)
NAME_REF@[795; 801)
IDENT@[795; 801) "assert"
EXCL@[801; 802)
TOKEN_TREE@[802; 813)
L_PAREN@[802; 803)
TOKEN_TREE@[803; 812)
L_PAREN@[803; 804)
IDENT@[804; 805) "i"
DOT@[805; 806)
IDENT@[806; 809) "get"
TOKEN_TREE@[809; 811)
L_PAREN@[809; 810)
R_PAREN@[810; 811)
R_PAREN@[811; 812)
R_PAREN@[812; 813)
SEMI@[813; 814)
WHITESPACE@[814; 815)
R_CURLY@[815; 816)
WHITESPACE@[816; 818)
FN_DEF@[818; 1322)
FN_KW@[818; 820)
WHITESPACE@[820; 821)
NAME@[821; 832)
IDENT@[821; 832) "zombiejesus"
PARAM_LIST@[832; 834)
L_PAREN@[832; 833)
R_PAREN@[833; 834)
WHITESPACE@[834; 835)
BLOCK@[835; 1322)
L_CURLY@[835; 836)
WHITESPACE@[836; 841)
LOOP_EXPR@[841; 1320)
LOOP_KW@[841; 845)
WHITESPACE@[845; 846)
BLOCK@[846; 1320)
L_CURLY@[846; 847)
WHITESPACE@[847; 856)
EXPR_STMT@[856; 1283)
WHILE_EXPR@[856; 1283)
WHILE_KW@[856; 861)
WHITESPACE@[861; 862)
CONDITION@[862; 870)
PAREN_EXPR@[862; 870)
L_PAREN@[862; 863)
RETURN_EXPR@[863; 869)
RETURN_KW@[863; 869)
R_PAREN@[869; 870)
WHITESPACE@[870; 871)
BLOCK@[871; 1283)
L_CURLY@[871; 872)
WHITESPACE@[872; 885)
IF_EXPR@[885; 1273)
IF_KW@[885; 887)
WHITESPACE@[887; 888)
CONDITION@[888; 896)
PAREN_EXPR@[888; 896)
L_PAREN@[888; 889)
RETURN_EXPR@[889; 895)
RETURN_KW@[889; 895)
R_PAREN@[895; 896)
WHITESPACE@[896; 897)
BLOCK@[897; 1216)
L_CURLY@[897; 898)
WHITESPACE@[898; 915)
EXPR_STMT@[915; 1202)
MATCH_EXPR@[915; 1201)
MATCH_KW@[915; 920)
WHITESPACE@[920; 921)
PAREN_EXPR@[921; 929)
L_PAREN@[921; 922)
RETURN_EXPR@[922; 928)
RETURN_KW@[922; 928)
R_PAREN@[928; 929)
WHITESPACE@[929; 930)
MATCH_ARM_LIST@[930; 1201)
L_CURLY@[930; 931)
WHITESPACE@[931; 952)
MATCH_ARM@[952; 1147)
LITERAL@[952; 953)
INT_NUMBER@[952; 953) "1"
WHITESPACE@[953; 954)
FAT_ARROW@[954; 956)
WHITESPACE@[956; 957)
BLOCK_EXPR@[957; 1147)
BLOCK@[957; 1147)
L_CURLY@[957; 958)
WHITESPACE@[958; 983)
IF_EXPR@[983; 1125)
IF_KW@[983; 985)
WHITESPACE@[985; 986)
CONDITION@[986; 994)
PAREN_EXPR@[986; 994)
L_PAREN@[986; 987)
RETURN_EXPR@[987; 993)
RETURN_KW@[987; 993)
R_PAREN@[993; 994)
WHITESPACE@[994; 995)
BLOCK@[995; 1057)
L_CURLY@[995; 996)
WHITESPACE@[996; 1025)
RETURN_EXPR@[1025; 1031)
RETURN_KW@[1025; 1031)
WHITESPACE@[1031; 1056)
R_CURLY@[1056; 1057)
WHITESPACE@[1057; 1058)
ELSE_KW@[1058; 1062)
WHITESPACE@[1062; 1063)
BLOCK@[1063; 1125)
L_CURLY@[1063; 1064)
WHITESPACE@[1064; 1093)
RETURN_EXPR@[1093; 1099)
RETURN_KW@[1093; 1099)
WHITESPACE@[1099; 1124)
R_CURLY@[1124; 1125)
WHITESPACE@[1125; 1146)
R_CURLY@[1146; 1147)
WHITESPACE@[1147; 1168)
MATCH_ARM@[1168; 1183)
PLACEHOLDER_PAT@[1168; 1169)
UNDERSCORE@[1168; 1169)
WHITESPACE@[1169; 1170)
FAT_ARROW@[1170; 1172)
WHITESPACE@[1172; 1173)
BLOCK_EXPR@[1173; 1183)
BLOCK@[1173; 1183)
L_CURLY@[1173; 1174)
WHITESPACE@[1174; 1175)
RETURN_EXPR@[1175; 1181)
RETURN_KW@[1175; 1181)
WHITESPACE@[1181; 1182)
R_CURLY@[1182; 1183)
WHITESPACE@[1183; 1200)
R_CURLY@[1200; 1201)
SEMI@[1201; 1202)
WHITESPACE@[1202; 1215)
R_CURLY@[1215; 1216)
WHITESPACE@[1216; 1217)
ELSE_KW@[1217; 1221)
WHITESPACE@[1221; 1222)
IF_EXPR@[1222; 1273)
IF_KW@[1222; 1224)
WHITESPACE@[1224; 1225)
CONDITION@[1225; 1233)
PAREN_EXPR@[1225; 1233)
L_PAREN@[1225; 1226)
RETURN_EXPR@[1226; 1232)
RETURN_KW@[1226; 1232)
R_PAREN@[1232; 1233)
WHITESPACE@[1233; 1234)
BLOCK@[1234; 1273)
L_CURLY@[1234; 1235)
WHITESPACE@[1235; 1252)
EXPR_STMT@[1252; 1259)
RETURN_EXPR@[1252; 1258)
RETURN_KW@[1252; 1258)
SEMI@[1258; 1259)
WHITESPACE@[1259; 1272)
R_CURLY@[1272; 1273)
WHITESPACE@[1273; 1282)
R_CURLY@[1282; 1283)
WHITESPACE@[1283; 1292)
IF_EXPR@[1292; 1314)
IF_KW@[1292; 1294)
WHITESPACE@[1294; 1295)
CONDITION@[1295; 1303)
PAREN_EXPR@[1295; 1303)
L_PAREN@[1295; 1296)
RETURN_EXPR@[1296; 1302)
RETURN_KW@[1296; 1302)
R_PAREN@[1302; 1303)
WHITESPACE@[1303; 1304)
BLOCK@[1304; 1314)
L_CURLY@[1304; 1305)
WHITESPACE@[1305; 1306)
EXPR_STMT@[1306; 1312)
BREAK_EXPR@[1306; 1311)
BREAK_KW@[1306; 1311)
SEMI@[1311; 1312)
WHITESPACE@[1312; 1313)
R_CURLY@[1313; 1314)
WHITESPACE@[1314; 1319)
R_CURLY@[1319; 1320)
WHITESPACE@[1320; 1321)
R_CURLY@[1321; 1322)
WHITESPACE@[1322; 1324)
FN_DEF@[1324; 1539)
FN_KW@[1324; 1326)
WHITESPACE@[1326; 1327)
NAME@[1327; 1334)
IDENT@[1327; 1334) "notsure"
PARAM_LIST@[1334; 1336)
L_PAREN@[1334; 1335)
R_PAREN@[1335; 1336)
WHITESPACE@[1336; 1337)
BLOCK@[1337; 1539)
L_CURLY@[1337; 1338)
WHITESPACE@[1338; 1343)
LET_STMT@[1343; 1361)
LET_KW@[1343; 1346)
WHITESPACE@[1346; 1347)
BIND_PAT@[1347; 1353)
MUT_KW@[1347; 1350)
WHITESPACE@[1350; 1351)
NAME@[1351; 1353)
IDENT@[1351; 1353) "_x"
COLON@[1353; 1354)
WHITESPACE@[1354; 1355)
PATH_TYPE@[1355; 1360)
PATH@[1355; 1360)
PATH_SEGMENT@[1355; 1360)
NAME_REF@[1355; 1360)
IDENT@[1355; 1360) "isize"
SEMI@[1360; 1361)
WHITESPACE@[1361; 1366)
LET_STMT@[1366; 1400)
LET_KW@[1366; 1369)
WHITESPACE@[1369; 1370)
BIND_PAT@[1370; 1376)
MUT_KW@[1370; 1373)
WHITESPACE@[1373; 1374)
NAME@[1374; 1376)
IDENT@[1374; 1376) "_y"
WHITESPACE@[1376; 1377)
EQ@[1377; 1378)
WHITESPACE@[1378; 1379)
BIN_EXPR@[1379; 1399)
PAREN_EXPR@[1379; 1387)
L_PAREN@[1379; 1380)
BIN_EXPR@[1380; 1386)
PATH_EXPR@[1380; 1382)
PATH@[1380; 1382)
PATH_SEGMENT@[1380; 1382)
NAME_REF@[1380; 1382)
IDENT@[1380; 1382) "_x"
WHITESPACE@[1382; 1383)
EQ@[1383; 1384)
WHITESPACE@[1384; 1385)
LITERAL@[1385; 1386)
INT_NUMBER@[1385; 1386) "0"
R_PAREN@[1386; 1387)
WHITESPACE@[1387; 1388)
EQEQ@[1388; 1390)
WHITESPACE@[1390; 1391)
PAREN_EXPR@[1391; 1399)
L_PAREN@[1391; 1392)
BIN_EXPR@[1392; 1398)
PATH_EXPR@[1392; 1394)
PATH@[1392; 1394)
PATH_SEGMENT@[1392; 1394)
NAME_REF@[1392; 1394)
IDENT@[1392; 1394) "_x"
WHITESPACE@[1394; 1395)
EQ@[1395; 1396)
WHITESPACE@[1396; 1397)
LITERAL@[1397; 1398)
INT_NUMBER@[1397; 1398) "0"
R_PAREN@[1398; 1399)
SEMI@[1399; 1400)
WHITESPACE@[1400; 1405)
LET_STMT@[1405; 1438)
LET_KW@[1405; 1408)
WHITESPACE@[1408; 1409)
BIND_PAT@[1409; 1415)
MUT_KW@[1409; 1412)
WHITESPACE@[1412; 1413)
NAME@[1413; 1415)
IDENT@[1413; 1415) "_z"
WHITESPACE@[1415; 1416)
EQ@[1416; 1417)
WHITESPACE@[1417; 1418)
BIN_EXPR@[1418; 1437)
PAREN_EXPR@[1418; 1426)
L_PAREN@[1418; 1419)
BIN_EXPR@[1419; 1425)
PATH_EXPR@[1419; 1421)
PATH@[1419; 1421)
PATH_SEGMENT@[1419; 1421)
NAME_REF@[1419; 1421)
IDENT@[1419; 1421) "_x"
WHITESPACE@[1421; 1422)
EQ@[1422; 1423)
WHITESPACE@[1423; 1424)
LITERAL@[1424; 1425)
INT_NUMBER@[1424; 1425) "0"
R_PAREN@[1425; 1426)
WHITESPACE@[1426; 1427)
L_ANGLE@[1427; 1428)
WHITESPACE@[1428; 1429)
PAREN_EXPR@[1429; 1437)
L_PAREN@[1429; 1430)
BIN_EXPR@[1430; 1436)
PATH_EXPR@[1430; 1432)
PATH@[1430; 1432)
PATH_SEGMENT@[1430; 1432)
NAME_REF@[1430; 1432)
IDENT@[1430; 1432) "_x"
WHITESPACE@[1432; 1433)
EQ@[1433; 1434)
WHITESPACE@[1434; 1435)
LITERAL@[1435; 1436)
INT_NUMBER@[1435; 1436) "0"
R_PAREN@[1436; 1437)
SEMI@[1437; 1438)
WHITESPACE@[1438; 1443)
LET_STMT@[1443; 1474)
LET_KW@[1443; 1446)
WHITESPACE@[1446; 1447)
BIND_PAT@[1447; 1449)
NAME@[1447; 1449)
IDENT@[1447; 1449) "_a"
WHITESPACE@[1449; 1450)
EQ@[1450; 1451)
WHITESPACE@[1451; 1452)
BIN_EXPR@[1452; 1473)
PAREN_EXPR@[1452; 1461)
L_PAREN@[1452; 1453)
BIN_EXPR@[1453; 1460)
PATH_EXPR@[1453; 1455)
PATH@[1453; 1455)
PATH_SEGMENT@[1453; 1455)
NAME_REF@[1453; 1455)
IDENT@[1453; 1455) "_x"
WHITESPACE@[1455; 1456)
PLUSEQ@[1456; 1458)
WHITESPACE@[1458; 1459)
LITERAL@[1459; 1460)
INT_NUMBER@[1459; 1460) "0"
R_PAREN@[1460; 1461)
WHITESPACE@[1461; 1462)
EQEQ@[1462; 1464)
WHITESPACE@[1464; 1465)
PAREN_EXPR@[1465; 1473)
L_PAREN@[1465; 1466)
BIN_EXPR@[1466; 1472)
PATH_EXPR@[1466; 1468)
PATH@[1466; 1468)
PATH_SEGMENT@[1466; 1468)
NAME_REF@[1466; 1468)
IDENT@[1466; 1468) "_x"
WHITESPACE@[1468; 1469)
EQ@[1469; 1470)
WHITESPACE@[1470; 1471)
LITERAL@[1471; 1472)
INT_NUMBER@[1471; 1472) "0"
R_PAREN@[1472; 1473)
SEMI@[1473; 1474)
WHITESPACE@[1474; 1479)
LET_STMT@[1479; 1537)
LET_KW@[1479; 1482)
WHITESPACE@[1482; 1483)
BIND_PAT@[1483; 1485)
NAME@[1483; 1485)
IDENT@[1483; 1485) "_b"
WHITESPACE@[1485; 1486)
EQ@[1486; 1487)
WHITESPACE@[1487; 1488)
BIN_EXPR@[1488; 1536)
CALL_EXPR@[1488; 1510)
PATH_EXPR@[1488; 1492)
PATH@[1488; 1492)
PATH_SEGMENT@[1488; 1492)
NAME_REF@[1488; 1492)
IDENT@[1488; 1492) "swap"
ARG_LIST@[1492; 1510)
L_PAREN@[1492; 1493)
REF_EXPR@[1493; 1500)
AMP@[1493; 1494)
MUT_KW@[1494; 1497)
WHITESPACE@[1497; 1498)
PATH_EXPR@[1498; 1500)
PATH@[1498; 1500)
PATH_SEGMENT@[1498; 1500)
NAME_REF@[1498; 1500)
IDENT@[1498; 1500) "_y"
COMMA@[1500; 1501)
WHITESPACE@[1501; 1502)
REF_EXPR@[1502; 1509)
AMP@[1502; 1503)
MUT_KW@[1503; 1506)
WHITESPACE@[1506; 1507)
PATH_EXPR@[1507; 1509)
PATH@[1507; 1509)
PATH_SEGMENT@[1507; 1509)
NAME_REF@[1507; 1509)
IDENT@[1507; 1509) "_z"
R_PAREN@[1509; 1510)
WHITESPACE@[1510; 1511)
EQEQ@[1511; 1513)
WHITESPACE@[1513; 1514)
CALL_EXPR@[1514; 1536)
PATH_EXPR@[1514; 1518)
PATH@[1514; 1518)
PATH_SEGMENT@[1514; 1518)
NAME_REF@[1514; 1518)
IDENT@[1514; 1518) "swap"
ARG_LIST@[1518; 1536)
L_PAREN@[1518; 1519)
REF_EXPR@[1519; 1526)
AMP@[1519; 1520)
MUT_KW@[1520; 1523)
WHITESPACE@[1523; 1524)
PATH_EXPR@[1524; 1526)
PATH@[1524; 1526)
PATH_SEGMENT@[1524; 1526)
NAME_REF@[1524; 1526)
IDENT@[1524; 1526) "_y"
COMMA@[1526; 1527)
WHITESPACE@[1527; 1528)
REF_EXPR@[1528; 1535)
AMP@[1528; 1529)
MUT_KW@[1529; 1532)
WHITESPACE@[1532; 1533)
PATH_EXPR@[1533; 1535)
PATH@[1533; 1535)
PATH_SEGMENT@[1533; 1535)
NAME_REF@[1533; 1535)
IDENT@[1533; 1535) "_z"
R_PAREN@[1535; 1536)
SEMI@[1536; 1537)
WHITESPACE@[1537; 1538)
R_CURLY@[1538; 1539)
WHITESPACE@[1539; 1541)
FN_DEF@[1541; 1741)
FN_KW@[1541; 1543)
WHITESPACE@[1543; 1544)
NAME@[1544; 1557)
IDENT@[1544; 1557) "canttouchthis"
PARAM_LIST@[1557; 1559)
L_PAREN@[1557; 1558)
R_PAREN@[1558; 1559)
WHITESPACE@[1559; 1560)
RET_TYPE@[1560; 1568)
THIN_ARROW@[1560; 1562)
WHITESPACE@[1562; 1563)
PATH_TYPE@[1563; 1568)
PATH@[1563; 1568)
PATH_SEGMENT@[1563; 1568)
NAME_REF@[1563; 1568)
IDENT@[1563; 1568) "usize"
WHITESPACE@[1568; 1569)
BLOCK@[1569; 1741)
L_CURLY@[1569; 1570)
WHITESPACE@[1570; 1575)
FN_DEF@[1575; 1598)
FN_KW@[1575; 1577)
WHITESPACE@[1577; 1578)
NAME@[1578; 1579)
IDENT@[1578; 1579) "p"
PARAM_LIST@[1579; 1581)
L_PAREN@[1579; 1580)
R_PAREN@[1580; 1581)
WHITESPACE@[1581; 1582)
RET_TYPE@[1582; 1589)
THIN_ARROW@[1582; 1584)
WHITESPACE@[1584; 1585)
PATH_TYPE@[1585; 1589)
PATH@[1585; 1589)
PATH_SEGMENT@[1585; 1589)
NAME_REF@[1585; 1589)
IDENT@[1585; 1589) "bool"
WHITESPACE@[1589; 1590)
BLOCK@[1590; 1598)
L_CURLY@[1590; 1591)
WHITESPACE@[1591; 1592)
LITERAL@[1592; 1596)
TRUE_KW@[1592; 1596)
WHITESPACE@[1596; 1597)
R_CURLY@[1597; 1598)
WHITESPACE@[1598; 1603)
LET_STMT@[1603; 1648)
LET_KW@[1603; 1606)
WHITESPACE@[1606; 1607)
BIND_PAT@[1607; 1609)
NAME@[1607; 1609)
IDENT@[1607; 1609) "_a"
WHITESPACE@[1609; 1610)
EQ@[1610; 1611)
WHITESPACE@[1611; 1612)
PAREN_EXPR@[1612; 1647)
L_PAREN@[1612; 1613)
BIN_EXPR@[1613; 1646)
MACRO_CALL@[1613; 1628)
PATH@[1613; 1619)
PATH_SEGMENT@[1613; 1619)
NAME_REF@[1613; 1619)
IDENT@[1613; 1619) "assert"
EXCL@[1619; 1620)
TOKEN_TREE@[1620; 1628)
L_PAREN@[1620; 1621)
TOKEN_TREE@[1621; 1627)
L_PAREN@[1621; 1622)
TRUE_KW@[1622; 1626)
R_PAREN@[1626; 1627)
R_PAREN@[1627; 1628)
WHITESPACE@[1628; 1629)
EQEQ@[1629; 1631)
WHITESPACE@[1631; 1632)
PAREN_EXPR@[1632; 1646)
L_PAREN@[1632; 1633)
MACRO_CALL@[1633; 1645)
PATH@[1633; 1639)
PATH_SEGMENT@[1633; 1639)
NAME_REF@[1633; 1639)
IDENT@[1633; 1639) "assert"
EXCL@[1639; 1640)
TOKEN_TREE@[1640; 1645)
L_PAREN@[1640; 1641)
IDENT@[1641; 1642) "p"
TOKEN_TREE@[1642; 1644)
L_PAREN@[1642; 1643)
R_PAREN@[1643; 1644)
R_PAREN@[1644; 1645)
R_PAREN@[1645; 1646)
R_PAREN@[1646; 1647)
SEMI@[1647; 1648)
WHITESPACE@[1648; 1653)
LET_STMT@[1653; 1685)
LET_KW@[1653; 1656)
WHITESPACE@[1656; 1657)
BIND_PAT@[1657; 1659)
NAME@[1657; 1659)
IDENT@[1657; 1659) "_c"
WHITESPACE@[1659; 1660)
EQ@[1660; 1661)
WHITESPACE@[1661; 1662)
PAREN_EXPR@[1662; 1684)
L_PAREN@[1662; 1663)
BIN_EXPR@[1663; 1683)
MACRO_CALL@[1663; 1677)
PATH@[1663; 1669)
PATH_SEGMENT@[1663; 1669)
NAME_REF@[1663; 1669)
IDENT@[1663; 1669) "assert"
EXCL@[1669; 1670)
TOKEN_TREE@[1670; 1677)
L_PAREN@[1670; 1671)
TOKEN_TREE@[1671; 1676)
L_PAREN@[1671; 1672)
IDENT@[1672; 1673) "p"
TOKEN_TREE@[1673; 1675)
L_PAREN@[1673; 1674)
R_PAREN@[1674; 1675)
R_PAREN@[1675; 1676)
R_PAREN@[1676; 1677)
WHITESPACE@[1677; 1678)
EQEQ@[1678; 1680)
WHITESPACE@[1680; 1681)
TUPLE_EXPR@[1681; 1683)
L_PAREN@[1681; 1682)
R_PAREN@[1682; 1683)
R_PAREN@[1683; 1684)
SEMI@[1684; 1685)
WHITESPACE@[1685; 1690)
LET_STMT@[1690; 1739)
LET_KW@[1690; 1693)
WHITESPACE@[1693; 1694)
BIND_PAT@[1694; 1696)
NAME@[1694; 1696)
IDENT@[1694; 1696) "_b"
COLON@[1696; 1697)
WHITESPACE@[1697; 1698)
PATH_TYPE@[1698; 1702)
PATH@[1698; 1702)
PATH_SEGMENT@[1698; 1702)
NAME_REF@[1698; 1702)
IDENT@[1698; 1702) "bool"
WHITESPACE@[1702; 1703)
EQ@[1703; 1704)
WHITESPACE@[1704; 1705)
PAREN_EXPR@[1705; 1738)
L_PAREN@[1705; 1706)
BIN_EXPR@[1706; 1737)
MACRO_CALL@[1706; 1723)
PATH@[1706; 1713)
PATH_SEGMENT@[1706; 1713)
NAME_REF@[1706; 1713)
IDENT@[1706; 1713) "println"
EXCL@[1713; 1714)
TOKEN_TREE@[1714; 1723)
L_PAREN@[1714; 1715)
STRING@[1715; 1719)
COMMA@[1719; 1720)
WHITESPACE@[1720; 1721)
INT_NUMBER@[1721; 1722) "0"
R_PAREN@[1722; 1723)
WHITESPACE@[1723; 1724)
EQEQ@[1724; 1726)
WHITESPACE@[1726; 1727)
PAREN_EXPR@[1727; 1737)
L_PAREN@[1727; 1728)
RETURN_EXPR@[1728; 1736)
RETURN_KW@[1728; 1734)
WHITESPACE@[1734; 1735)
LITERAL@[1735; 1736)
INT_NUMBER@[1735; 1736) "0"
R_PAREN@[1736; 1737)
R_PAREN@[1737; 1738)
SEMI@[1738; 1739)
WHITESPACE@[1739; 1740)
R_CURLY@[1740; 1741)
WHITESPACE@[1741; 1743)
FN_DEF@[1743; 1904)
FN_KW@[1743; 1745)
WHITESPACE@[1745; 1746)
NAME@[1746; 1755)
IDENT@[1746; 1755) "angrydome"
PARAM_LIST@[1755; 1757)
L_PAREN@[1755; 1756)
R_PAREN@[1756; 1757)
WHITESPACE@[1757; 1758)
BLOCK@[1758; 1904)
L_CURLY@[1758; 1759)
WHITESPACE@[1759; 1764)
EXPR_STMT@[1764; 1785)
LOOP_EXPR@[1764; 1785)
LOOP_KW@[1764; 1768)
WHITESPACE@[1768; 1769)
BLOCK@[1769; 1785)
L_CURLY@[1769; 1770)
WHITESPACE@[1770; 1771)
IF_EXPR@[1771; 1783)
IF_KW@[1771; 1773)
WHITESPACE@[1773; 1774)
CONDITION@[1774; 1779)
BREAK_EXPR@[1774; 1779)
BREAK_KW@[1774; 1779)
WHITESPACE@[1779; 1780)
BLOCK@[1780; 1783)
L_CURLY@[1780; 1781)
WHITESPACE@[1781; 1782)
R_CURLY@[1782; 1783)
WHITESPACE@[1783; 1784)
R_CURLY@[1784; 1785)
WHITESPACE@[1785; 1790)
LET_STMT@[1790; 1804)
LET_KW@[1790; 1793)
WHITESPACE@[1793; 1794)
BIND_PAT@[1794; 1799)
MUT_KW@[1794; 1797)
WHITESPACE@[1797; 1798)
NAME@[1798; 1799)
IDENT@[1798; 1799) "i"
WHITESPACE@[1799; 1800)
EQ@[1800; 1801)
WHITESPACE@[1801; 1802)
LITERAL@[1802; 1803)
INT_NUMBER@[1802; 1803) "0"
SEMI@[1803; 1804)
WHITESPACE@[1804; 1809)
LOOP_EXPR@[1809; 1902)
LOOP_KW@[1809; 1813)
WHITESPACE@[1813; 1814)
BLOCK@[1814; 1902)
L_CURLY@[1814; 1815)
WHITESPACE@[1815; 1816)
EXPR_STMT@[1816; 1823)
BIN_EXPR@[1816; 1822)
PATH_EXPR@[1816; 1817)
PATH@[1816; 1817)
PATH_SEGMENT@[1816; 1817)
NAME_REF@[1816; 1817)
IDENT@[1816; 1817) "i"
WHITESPACE@[1817; 1818)
PLUSEQ@[1818; 1820)
WHITESPACE@[1820; 1821)
LITERAL@[1821; 1822)
INT_NUMBER@[1821; 1822) "1"
SEMI@[1822; 1823)
WHITESPACE@[1823; 1824)
EXPR_STMT@[1824; 1887)
IF_EXPR@[1824; 1887)
IF_KW@[1824; 1826)
WHITESPACE@[1826; 1827)
CONDITION@[1827; 1833)
BIN_EXPR@[1827; 1833)
PATH_EXPR@[1827; 1828)
PATH@[1827; 1828)
PATH_SEGMENT@[1827; 1828)
NAME_REF@[1827; 1828)
IDENT@[1827; 1828) "i"
WHITESPACE@[1828; 1829)
EQEQ@[1829; 1831)
WHITESPACE@[1831; 1832)
LITERAL@[1832; 1833)
INT_NUMBER@[1832; 1833) "1"
WHITESPACE@[1833; 1834)
BLOCK@[1834; 1887)
L_CURLY@[1834; 1835)
WHITESPACE@[1835; 1836)
MATCH_EXPR@[1836; 1885)
MATCH_KW@[1836; 1841)
WHITESPACE@[1841; 1842)
PAREN_EXPR@[1842; 1852)
L_PAREN@[1842; 1843)
CONTINUE_EXPR@[1843; 1851)
CONTINUE_KW@[1843; 1851)
R_PAREN@[1851; 1852)
WHITESPACE@[1852; 1853)
MATCH_ARM_LIST@[1853; 1885)
L_CURLY@[1853; 1854)
WHITESPACE@[1854; 1855)
MATCH_ARM@[1855; 1863)
LITERAL@[1855; 1856)
INT_NUMBER@[1855; 1856) "1"
WHITESPACE@[1856; 1857)
FAT_ARROW@[1857; 1859)
WHITESPACE@[1859; 1860)
BLOCK_EXPR@[1860; 1863)
BLOCK@[1860; 1863)
L_CURLY@[1860; 1861)
WHITESPACE@[1861; 1862)
R_CURLY@[1862; 1863)
COMMA@[1863; 1864)
WHITESPACE@[1864; 1865)
MATCH_ARM@[1865; 1883)
PLACEHOLDER_PAT@[1865; 1866)
UNDERSCORE@[1865; 1866)
WHITESPACE@[1866; 1867)
FAT_ARROW@[1867; 1869)
WHITESPACE@[1869; 1870)
MACRO_CALL@[1870; 1883)
PATH@[1870; 1875)
PATH_SEGMENT@[1870; 1875)
NAME_REF@[1870; 1875)
IDENT@[1870; 1875) "panic"
EXCL@[1875; 1876)
TOKEN_TREE@[1876; 1883)
L_PAREN@[1876; 1877)
STRING@[1877; 1882)
R_PAREN@[1882; 1883)
WHITESPACE@[1883; 1884)
R_CURLY@[1884; 1885)
WHITESPACE@[1885; 1886)
R_CURLY@[1886; 1887)
WHITESPACE@[1887; 1894)
EXPR_STMT@[1894; 1900)
BREAK_EXPR@[1894; 1899)
BREAK_KW@[1894; 1899)
SEMI@[1899; 1900)
WHITESPACE@[1900; 1901)
R_CURLY@[1901; 1902)
WHITESPACE@[1902; 1903)
R_CURLY@[1903; 1904)
WHITESPACE@[1904; 1906)
FN_DEF@[1906; 1960)
FN_KW@[1906; 1908)
WHITESPACE@[1908; 1909)
NAME@[1909; 1921)
IDENT@[1909; 1921) "evil_lincoln"
PARAM_LIST@[1921; 1923)
L_PAREN@[1921; 1922)
R_PAREN@[1922; 1923)
WHITESPACE@[1923; 1924)
BLOCK@[1924; 1960)
L_CURLY@[1924; 1925)
WHITESPACE@[1925; 1926)
R_CURLY@[1926; 1927)
WHITESPACE@[1927; 1929)
FN_DEF@[1929; 2422)
FN_KW@[1929; 1931)
WHITESPACE@[1931; 1932)
NAME@[1932; 1934)
IDENT@[1932; 1934) "u8"
PARAM_LIST@[1934; 1942)
L_PAREN@[1934; 1935)
PARAM@[1935; 1941)
BIND_PAT@[1935; 1937)
NAME@[1935; 1937)
IDENT@[1935; 1937) "u8"
COLON@[1937; 1938)
WHITESPACE@[1938; 1939)
PATH_TYPE@[1939; 1941)
PATH@[1939; 1941)
PATH_SEGMENT@[1939; 1941)
NAME_REF@[1939; 1941)
IDENT@[1939; 1941) "u8"
R_PAREN@[1941; 1942)
WHITESPACE@[1942; 1943)
BLOCK@[1943; 2422)
L_CURLY@[1943; 1944)
WHITESPACE@[1944; 1949)
IF_EXPR@[1949; 2420)
IF_KW@[1949; 1951)
WHITESPACE@[1951; 1952)
CONDITION@[1952; 1961)
BIN_EXPR@[1952; 1961)
PATH_EXPR@[1952; 1954)
PATH@[1952; 1954)
PATH_SEGMENT@[1952; 1954)
NAME_REF@[1952; 1954)
IDENT@[1952; 1954) "u8"
WHITESPACE@[1954; 1955)
NEQ@[1955; 1957)
WHITESPACE@[1957; 1958)
LITERAL@[1958; 1961)
INT_NUMBER@[1958; 1961) "0u8"
WHITESPACE@[1961; 1962)
BLOCK@[1962; 2420)
L_CURLY@[1962; 1963)
WHITESPACE@[1963; 1972)
EXPR_STMT@[1972; 2414)
MACRO_CALL@[1972; 2413)
PATH@[1972; 1981)
PATH_SEGMENT@[1972; 1981)
NAME_REF@[1972; 1981)
IDENT@[1972; 1981) "assert_eq"
EXCL@[1981; 1982)
TOKEN_TREE@[1982; 2413)
L_PAREN@[1982; 1983)
INT_NUMBER@[1983; 1986) "8u8"
COMMA@[1986; 1987)
WHITESPACE@[1987; 1988)
TOKEN_TREE@[1988; 2412)
L_CURLY@[1988; 1989)
WHITESPACE@[1989; 2002)
IDENT@[2002; 2013) "macro_rules"
EXCL@[2013; 2014)
WHITESPACE@[2014; 2015)
IDENT@[2015; 2017) "u8"
WHITESPACE@[2017; 2018)
TOKEN_TREE@[2018; 2296)
L_CURLY@[2018; 2019)
WHITESPACE@[2019; 2036)
TOKEN_TREE@[2036; 2040)
L_PAREN@[2036; 2037)
IDENT@[2037; 2039) "u8"
R_PAREN@[2039; 2040)
WHITESPACE@[2040; 2041)
FAT_ARROW@[2041; 2043)
WHITESPACE@[2043; 2044)
TOKEN_TREE@[2044; 2281)
L_CURLY@[2044; 2045)
WHITESPACE@[2045; 2066)
MOD_KW@[2066; 2069)
WHITESPACE@[2069; 2070)
IDENT@[2070; 2072) "u8"
WHITESPACE@[2072; 2073)
TOKEN_TREE@[2073; 2263)
L_CURLY@[2073; 2074)
WHITESPACE@[2074; 2099)
PUB_KW@[2099; 2102)
WHITESPACE@[2102; 2103)
FN_KW@[2103; 2105)
WHITESPACE@[2105; 2106)
IDENT@[2106; 2108) "u8"
L_ANGLE@[2108; 2109)
LIFETIME@[2109; 2112) "'u8"
COLON@[2112; 2113)
WHITESPACE@[2113; 2114)
LIFETIME@[2114; 2117) "'u8"
WHITESPACE@[2117; 2118)
PLUS@[2118; 2119)
WHITESPACE@[2119; 2120)
LIFETIME@[2120; 2123) "'u8"
R_ANGLE@[2123; 2124)
TOKEN_TREE@[2124; 2137)
L_PAREN@[2124; 2125)
IDENT@[2125; 2127) "u8"
COLON@[2127; 2128)
WHITESPACE@[2128; 2129)
AMP@[2129; 2130)
LIFETIME@[2130; 2133) "'u8"
WHITESPACE@[2133; 2134)
IDENT@[2134; 2136) "u8"
R_PAREN@[2136; 2137)
WHITESPACE@[2137; 2138)
THIN_ARROW@[2138; 2140)
WHITESPACE@[2140; 2141)
AMP@[2141; 2142)
LIFETIME@[2142; 2145) "'u8"
WHITESPACE@[2145; 2146)
IDENT@[2146; 2148) "u8"
WHITESPACE@[2148; 2149)
TOKEN_TREE@[2149; 2241)
L_CURLY@[2149; 2150)
WHITESPACE@[2150; 2179)
STRING@[2179; 2183)
SEMI@[2183; 2184)
WHITESPACE@[2184; 2213)
IDENT@[2213; 2215) "u8"
WHITESPACE@[2215; 2240)
R_CURLY@[2240; 2241)
WHITESPACE@[2241; 2262)
R_CURLY@[2262; 2263)
WHITESPACE@[2263; 2280)
R_CURLY@[2280; 2281)
SEMI@[2281; 2282)
WHITESPACE@[2282; 2295)
R_CURLY@[2295; 2296)
WHITESPACE@[2296; 2310)
IDENT@[2310; 2312) "u8"
EXCL@[2312; 2313)
TOKEN_TREE@[2313; 2317)
L_PAREN@[2313; 2314)
IDENT@[2314; 2316) "u8"
R_PAREN@[2316; 2317)
SEMI@[2317; 2318)
WHITESPACE@[2318; 2331)
LET_KW@[2331; 2334)
WHITESPACE@[2334; 2335)
AMP@[2335; 2336)
IDENT@[2336; 2338) "u8"
COLON@[2338; 2339)
WHITESPACE@[2339; 2340)
AMP@[2340; 2341)
IDENT@[2341; 2343) "u8"
WHITESPACE@[2343; 2344)
EQ@[2344; 2345)
WHITESPACE@[2345; 2346)
IDENT@[2346; 2348) "u8"
COLONCOLON@[2348; 2350)
IDENT@[2350; 2352) "u8"
TOKEN_TREE@[2352; 2358)
L_PAREN@[2352; 2353)
AMP@[2353; 2354)
INT_NUMBER@[2354; 2357) "8u8"
R_PAREN@[2357; 2358)
SEMI@[2358; 2359)
WHITESPACE@[2359; 2372)
CRATE_KW@[2372; 2377)
COLONCOLON@[2377; 2379)
IDENT@[2379; 2381) "u8"
TOKEN_TREE@[2381; 2386)
L_PAREN@[2381; 2382)
INT_NUMBER@[2382; 2385) "0u8"
R_PAREN@[2385; 2386)
SEMI@[2386; 2387)
WHITESPACE@[2387; 2400)
IDENT@[2400; 2402) "u8"
WHITESPACE@[2402; 2411)
R_CURLY@[2411; 2412)
R_PAREN@[2412; 2413)
SEMI@[2413; 2414)
WHITESPACE@[2414; 2419)
R_CURLY@[2419; 2420)
WHITESPACE@[2420; 2421)
R_CURLY@[2421; 2422)
WHITESPACE@[2422; 2424)
FN_DEF@[2424; 2561)
FN_KW@[2424; 2426)
WHITESPACE@[2426; 2427)
NAME@[2427; 2432)
IDENT@[2427; 2432) "fishy"
PARAM_LIST@[2432; 2434)
L_PAREN@[2432; 2433)
R_PAREN@[2433; 2434)
WHITESPACE@[2434; 2435)
BLOCK@[2435; 2561)
L_CURLY@[2435; 2436)
WHITESPACE@[2436; 2441)
EXPR_STMT@[2441; 2559)
MACRO_CALL@[2441; 2558)
PATH@[2441; 2450)
PATH_SEGMENT@[2441; 2450)
NAME_REF@[2441; 2450)
IDENT@[2441; 2450) "assert_eq"
EXCL@[2450; 2451)
TOKEN_TREE@[2451; 2558)
L_PAREN@[2451; 2452)
IDENT@[2452; 2458) "String"
COLONCOLON@[2458; 2460)
IDENT@[2460; 2464) "from"
TOKEN_TREE@[2464; 2471)
L_PAREN@[2464; 2465)
STRING@[2465; 2470)
R_PAREN@[2470; 2471)
COMMA@[2471; 2472)
WHITESPACE@[2472; 2488)
IDENT@[2488; 2494) "String"
COLONCOLON@[2494; 2496)
L_ANGLE@[2496; 2497)
R_ANGLE@[2497; 2498)
COLONCOLON@[2498; 2500)
IDENT@[2500; 2504) "from"
COLONCOLON@[2504; 2506)
L_ANGLE@[2506; 2507)
R_ANGLE@[2507; 2508)
TOKEN_TREE@[2508; 2515)
L_PAREN@[2508; 2509)
STRING@[2509; 2514)
R_PAREN@[2514; 2515)
DOT@[2515; 2516)
IDENT@[2516; 2521) "chars"
COLONCOLON@[2521; 2523)
L_ANGLE@[2523; 2524)
R_ANGLE@[2524; 2525)
TOKEN_TREE@[2525; 2527)
L_PAREN@[2525; 2526)
R_PAREN@[2526; 2527)
DOT@[2527; 2528)
IDENT@[2528; 2531) "rev"
COLONCOLON@[2531; 2533)
L_ANGLE@[2533; 2534)
R_ANGLE@[2534; 2535)
TOKEN_TREE@[2535; 2537)
L_PAREN@[2535; 2536)
R_PAREN@[2536; 2537)
DOT@[2537; 2538)
IDENT@[2538; 2545) "collect"
COLONCOLON@[2545; 2547)
L_ANGLE@[2547; 2548)
IDENT@[2548; 2554) "String"
R_ANGLE@[2554; 2555)
TOKEN_TREE@[2555; 2557)
L_PAREN@[2555; 2556)
R_PAREN@[2556; 2557)
R_PAREN@[2557; 2558)
SEMI@[2558; 2559)
WHITESPACE@[2559; 2560)
R_CURLY@[2560; 2561)
WHITESPACE@[2561; 2563)
FN_DEF@[2563; 2635)
FN_KW@[2563; 2565)
WHITESPACE@[2565; 2566)
NAME@[2566; 2571)
IDENT@[2566; 2571) "union"
PARAM_LIST@[2571; 2573)
L_PAREN@[2571; 2572)
R_PAREN@[2572; 2573)
WHITESPACE@[2573; 2574)
BLOCK@[2574; 2635)
L_CURLY@[2574; 2575)
WHITESPACE@[2575; 2580)
STRUCT_DEF@[2580; 2633)
UNION_KW@[2580; 2585)
WHITESPACE@[2585; 2586)
NAME@[2586; 2591)
IDENT@[2586; 2591) "union"
TYPE_PARAM_LIST@[2591; 2599)
L_ANGLE@[2591; 2592)
LIFETIME_PARAM@[2592; 2598)
LIFETIME@[2592; 2598) "'union"
R_ANGLE@[2598; 2599)
WHITESPACE@[2599; 2600)
NAMED_FIELD_DEF_LIST@[2600; 2633)
L_CURLY@[2600; 2601)
WHITESPACE@[2601; 2602)
NAMED_FIELD_DEF@[2602; 2630)
NAME@[2602; 2607)
IDENT@[2602; 2607) "union"
COLON@[2607; 2608)
WHITESPACE@[2608; 2609)
REFERENCE_TYPE@[2609; 2630)
AMP@[2609; 2610)
LIFETIME@[2610; 2616) "'union"
WHITESPACE@[2616; 2617)
PATH_TYPE@[2617; 2630)
PATH@[2617; 2630)
PATH_SEGMENT@[2617; 2630)
NAME_REF@[2617; 2622)
IDENT@[2617; 2622) "union"
TYPE_ARG_LIST@[2622; 2630)
L_ANGLE@[2622; 2623)
LIFETIME_ARG@[2623; 2629)
LIFETIME@[2623; 2629) "'union"
R_ANGLE@[2629; 2630)
COMMA@[2630; 2631)
WHITESPACE@[2631; 2632)
R_CURLY@[2632; 2633)
WHITESPACE@[2633; 2634)
R_CURLY@[2634; 2635)
WHITESPACE@[2635; 2637)
FN_DEF@[2637; 2771)
FN_KW@[2637; 2639)
WHITESPACE@[2639; 2640)
NAME@[2640; 2658)
IDENT@[2640; 2658) "special_characters"
PARAM_LIST@[2658; 2660)
L_PAREN@[2658; 2659)
R_PAREN@[2659; 2660)
WHITESPACE@[2660; 2661)
BLOCK@[2661; 2771)
L_CURLY@[2661; 2662)
WHITESPACE@[2662; 2667)
LET_STMT@[2667; 2750)
LET_KW@[2667; 2670)
WHITESPACE@[2670; 2671)
BIND_PAT@[2671; 2674)
NAME@[2671; 2674)
IDENT@[2671; 2674) "val"
WHITESPACE@[2674; 2675)
EQ@[2675; 2676)
WHITESPACE@[2676; 2677)
PREFIX_EXPR@[2677; 2742)
EXCL@[2677; 2678)
PAREN_EXPR@[2678; 2742)
L_PAREN@[2678; 2679)
BIN_EXPR@[2679; 2741)
CALL_EXPR@[2679; 2724)
PAREN_EXPR@[2679; 2700)
L_PAREN@[2679; 2680)
LAMBDA_EXPR@[2680; 2699)
PARAM_LIST@[2680; 2697)
PIPE@[2680; 2681)
PARAM@[2681; 2691)
TUPLE_PAT@[2681; 2685)
L_PAREN@[2681; 2682)
DOTDOT@[2682; 2684)
R_PAREN@[2684; 2685)
COLON@[2685; 2686)
TUPLE_TYPE@[2686; 2691)
L_PAREN@[2686; 2687)
PLACEHOLDER_TYPE@[2687; 2688)
UNDERSCORE@[2687; 2688)
COMMA@[2688; 2689)
PLACEHOLDER_TYPE@[2689; 2690)
UNDERSCORE@[2689; 2690)
R_PAREN@[2690; 2691)
COMMA@[2691; 2692)
PARAM@[2692; 2696)
BIND_PAT@[2692; 2696)
NAME@[2692; 2694)
IDENT@[2692; 2694) "__"
AT@[2694; 2695)
PLACEHOLDER_PAT@[2695; 2696)
UNDERSCORE@[2695; 2696)
PIPE@[2696; 2697)
PATH_EXPR@[2697; 2699)
PATH@[2697; 2699)
PATH_SEGMENT@[2697; 2699)
NAME_REF@[2697; 2699)
IDENT@[2697; 2699) "__"
R_PAREN@[2699; 2700)
ARG_LIST@[2700; 2724)
L_PAREN@[2700; 2701)
TUPLE_EXPR@[2701; 2716)
L_PAREN@[2701; 2702)
REF_EXPR@[2702; 2708)
AMP@[2702; 2703)
PREFIX_EXPR@[2703; 2708)
STAR@[2703; 2704)
LITERAL@[2704; 2708)
STRING@[2704; 2708)
COMMA@[2708; 2709)
LITERAL@[2709; 2715)
CHAR@[2709; 2715)
R_PAREN@[2715; 2716)
COMMENT@[2716; 2720)
COMMA@[2720; 2721)
BLOCK_EXPR@[2721; 2723)
BLOCK@[2721; 2723)
L_CURLY@[2721; 2722)
R_CURLY@[2722; 2723)
R_PAREN@[2723; 2724)
EQEQ@[2724; 2726)
BLOCK_EXPR@[2726; 2741)
BLOCK@[2726; 2741)
L_CURLY@[2726; 2727)
EXPR_STMT@[2727; 2740)
REF_EXPR@[2727; 2739)
AMP@[2727; 2728)
INDEX_EXPR@[2728; 2739)
ARRAY_EXPR@[2728; 2735)
L_BRACK@[2728; 2729)
RANGE_EXPR@[2729; 2734)
DOTDOTEQ@[2729; 2732)
RANGE_EXPR@[2732; 2734)
DOTDOT@[2732; 2734)
R_BRACK@[2734; 2735)
L_BRACK@[2735; 2736)
RANGE_EXPR@[2736; 2738)
DOTDOT@[2736; 2738)
R_BRACK@[2738; 2739)
SEMI@[2739; 2740)
R_CURLY@[2740; 2741)
R_PAREN@[2741; 2742)
COMMENT@[2742; 2744)
WHITESPACE@[2744; 2749)
SEMI@[2749; 2750)
WHITESPACE@[2750; 2755)
EXPR_STMT@[2755; 2769)
MACRO_CALL@[2755; 2768)
PATH@[2755; 2761)
PATH_SEGMENT@[2755; 2761)
NAME_REF@[2755; 2761)
IDENT@[2755; 2761) "assert"
EXCL@[2761; 2762)
TOKEN_TREE@[2762; 2768)
L_PAREN@[2762; 2763)
EXCL@[2763; 2764)
IDENT@[2764; 2767) "val"
R_PAREN@[2767; 2768)
SEMI@[2768; 2769)
WHITESPACE@[2769; 2770)
R_CURLY@[2770; 2771)
WHITESPACE@[2771; 2773)
FN_DEF@[2773; 3243)
FN_KW@[2773; 2775)
WHITESPACE@[2775; 2776)
NAME@[2776; 2786)
IDENT@[2776; 2786) "punch_card"
PARAM_LIST@[2786; 2788)
L_PAREN@[2786; 2787)
R_PAREN@[2787; 2788)
WHITESPACE@[2788; 2789)
RET_TYPE@[2789; 2812)
THIN_ARROW@[2789; 2791)
WHITESPACE@[2791; 2792)
IMPL_TRAIT_TYPE@[2792; 2812)
IMPL_KW@[2792; 2796)
WHITESPACE@[2796; 2797)
PATH_TYPE@[2797; 2812)
PATH@[2797; 2812)
PATH@[2797; 2805)
PATH@[2797; 2800)
PATH_SEGMENT@[2797; 2800)
NAME_REF@[2797; 2800)
IDENT@[2797; 2800) "std"
COLONCOLON@[2800; 2802)
PATH_SEGMENT@[2802; 2805)
NAME_REF@[2802; 2805)
IDENT@[2802; 2805) "fmt"
COLONCOLON@[2805; 2807)
PATH_SEGMENT@[2807; 2812)
NAME_REF@[2807; 2812)
IDENT@[2807; 2812) "Debug"
WHITESPACE@[2812; 2813)
BLOCK@[2813; 3243)
L_CURLY@[2813; 2814)
WHITESPACE@[2814; 2819)
RANGE_EXPR@[2819; 3241)
DOTDOTEQ@[2819; 2822)
RANGE_EXPR@[2822; 3241)
DOTDOTEQ@[2822; 2825)
RANGE_EXPR@[2825; 3241)
DOTDOT@[2825; 2827)
WHITESPACE@[2827; 2828)
RANGE_EXPR@[2828; 3241)
DOTDOT@[2828; 2830)
WHITESPACE@[2830; 2834)
RANGE_EXPR@[2834; 3241)
DOTDOT@[2834; 2836)
WHITESPACE@[2836; 2837)
RANGE_EXPR@[2837; 3241)
DOTDOT@[2837; 2839)
WHITESPACE@[2839; 2840)
RANGE_EXPR@[2840; 3241)
DOTDOT@[2840; 2842)
WHITESPACE@[2842; 2843)
RANGE_EXPR@[2843; 3241)
DOTDOT@[2843; 2845)
WHITESPACE@[2845; 2849)
RANGE_EXPR@[2849; 3241)
DOTDOT@[2849; 2851)
WHITESPACE@[2851; 2852)
RANGE_EXPR@[2852; 3241)
DOTDOT@[2852; 2854)
WHITESPACE@[2854; 2855)
RANGE_EXPR@[2855; 3241)
DOTDOT@[2855; 2857)
WHITESPACE@[2857; 2858)
RANGE_EXPR@[2858; 3241)
DOTDOT@[2858; 2860)
WHITESPACE@[2860; 2864)
RANGE_EXPR@[2864; 3241)
DOTDOT@[2864; 2866)
WHITESPACE@[2866; 2867)
RANGE_EXPR@[2867; 3241)
DOTDOTEQ@[2867; 2870)
RANGE_EXPR@[2870; 3241)
DOTDOT@[2870; 2872)
WHITESPACE@[2872; 2873)
RANGE_EXPR@[2873; 3241)
DOTDOT@[2873; 2875)
WHITESPACE@[2875; 2880)
RANGE_EXPR@[2880; 3241)
DOTDOTEQ@[2880; 2883)
RANGE_EXPR@[2883; 3241)
DOTDOT@[2883; 2885)
WHITESPACE@[2885; 2886)
RANGE_EXPR@[2886; 3241)
DOTDOTEQ@[2886; 2889)
RANGE_EXPR@[2889; 3241)
DOTDOT@[2889; 2891)
WHITESPACE@[2891; 2895)
RANGE_EXPR@[2895; 3241)
DOTDOT@[2895; 2897)
WHITESPACE@[2897; 2898)
RANGE_EXPR@[2898; 3241)
DOTDOT@[2898; 2900)
WHITESPACE@[2900; 2901)
RANGE_EXPR@[2901; 3241)
DOTDOT@[2901; 2903)
WHITESPACE@[2903; 2904)
RANGE_EXPR@[2904; 3241)
DOTDOT@[2904; 2906)
WHITESPACE@[2906; 2910)
RANGE_EXPR@[2910; 3241)
DOTDOT@[2910; 2912)
WHITESPACE@[2912; 2913)
RANGE_EXPR@[2913; 3241)
DOTDOT@[2913; 2915)
WHITESPACE@[2915; 2916)
RANGE_EXPR@[2916; 3241)
DOTDOT@[2916; 2918)
WHITESPACE@[2918; 2919)
RANGE_EXPR@[2919; 3241)
DOTDOT@[2919; 2921)
WHITESPACE@[2921; 2925)
RANGE_EXPR@[2925; 3241)
DOTDOTEQ@[2925; 2928)
RANGE_EXPR@[2928; 3241)
DOTDOTEQ@[2928; 2931)
RANGE_EXPR@[2931; 3241)
DOTDOTEQ@[2931; 2934)
RANGE_EXPR@[2934; 3241)
DOTDOT@[2934; 2936)
WHITESPACE@[2936; 2941)
RANGE_EXPR@[2941; 3241)
DOTDOTEQ@[2941; 2944)
RANGE_EXPR@[2944; 3241)
DOTDOT@[2944; 2946)
WHITESPACE@[2946; 2947)
RANGE_EXPR@[2947; 3241)
DOTDOTEQ@[2947; 2950)
RANGE_EXPR@[2950; 3241)
DOTDOT@[2950; 2952)
WHITESPACE@[2952; 2956)
RANGE_EXPR@[2956; 3241)
DOTDOTEQ@[2956; 2959)
RANGE_EXPR@[2959; 3241)
DOTDOT@[2959; 2961)
WHITESPACE@[2961; 2962)
RANGE_EXPR@[2962; 3241)
DOTDOTEQ@[2962; 2965)
RANGE_EXPR@[2965; 3241)
DOTDOT@[2965; 2967)
WHITESPACE@[2967; 2971)
RANGE_EXPR@[2971; 3241)
DOTDOT@[2971; 2973)
WHITESPACE@[2973; 2974)
RANGE_EXPR@[2974; 3241)
DOTDOTEQ@[2974; 2977)
RANGE_EXPR@[2977; 3241)
DOTDOTEQ@[2977; 2980)
RANGE_EXPR@[2980; 3241)
DOTDOT@[2980; 2982)
WHITESPACE@[2982; 2986)
RANGE_EXPR@[2986; 3241)
DOTDOT@[2986; 2988)
WHITESPACE@[2988; 2989)
RANGE_EXPR@[2989; 3241)
DOTDOTEQ@[2989; 2992)
RANGE_EXPR@[2992; 3241)
DOTDOT@[2992; 2994)
WHITESPACE@[2994; 2995)
RANGE_EXPR@[2995; 3241)
DOTDOT@[2995; 2997)
WHITESPACE@[2997; 3002)
RANGE_EXPR@[3002; 3241)
DOTDOTEQ@[3002; 3005)
RANGE_EXPR@[3005; 3241)
DOTDOTEQ@[3005; 3008)
RANGE_EXPR@[3008; 3241)
DOTDOT@[3008; 3010)
WHITESPACE@[3010; 3011)
RANGE_EXPR@[3011; 3241)
DOTDOT@[3011; 3013)
WHITESPACE@[3013; 3017)
RANGE_EXPR@[3017; 3241)
DOTDOTEQ@[3017; 3020)
RANGE_EXPR@[3020; 3241)
DOTDOT@[3020; 3022)
WHITESPACE@[3022; 3023)
RANGE_EXPR@[3023; 3241)
DOTDOTEQ@[3023; 3026)
RANGE_EXPR@[3026; 3241)
DOTDOT@[3026; 3028)
WHITESPACE@[3028; 3032)
RANGE_EXPR@[3032; 3241)
DOTDOTEQ@[3032; 3035)
RANGE_EXPR@[3035; 3241)
DOTDOT@[3035; 3037)
WHITESPACE@[3037; 3038)
RANGE_EXPR@[3038; 3241)
DOTDOT@[3038; 3040)
WHITESPACE@[3040; 3041)
RANGE_EXPR@[3041; 3241)
DOTDOT@[3041; 3043)
WHITESPACE@[3043; 3047)
RANGE_EXPR@[3047; 3241)
DOTDOT@[3047; 3049)
WHITESPACE@[3049; 3050)
RANGE_EXPR@[3050; 3241)
DOTDOTEQ@[3050; 3053)
RANGE_EXPR@[3053; 3241)
DOTDOT@[3053; 3055)
WHITESPACE@[3055; 3056)
RANGE_EXPR@[3056; 3241)
DOTDOT@[3056; 3058)
WHITESPACE@[3058; 3063)
RANGE_EXPR@[3063; 3241)
DOTDOTEQ@[3063; 3066)
RANGE_EXPR@[3066; 3241)
DOTDOT@[3066; 3068)
WHITESPACE@[3068; 3069)
RANGE_EXPR@[3069; 3241)
DOTDOTEQ@[3069; 3072)
RANGE_EXPR@[3072; 3241)
DOTDOT@[3072; 3074)
WHITESPACE@[3074; 3078)
RANGE_EXPR@[3078; 3241)
DOTDOTEQ@[3078; 3081)
RANGE_EXPR@[3081; 3241)
DOTDOT@[3081; 3083)
WHITESPACE@[3083; 3084)
RANGE_EXPR@[3084; 3241)
DOTDOTEQ@[3084; 3087)
RANGE_EXPR@[3087; 3241)
DOTDOT@[3087; 3089)
WHITESPACE@[3089; 3093)
RANGE_EXPR@[3093; 3241)
DOTDOT@[3093; 3095)
WHITESPACE@[3095; 3096)
RANGE_EXPR@[3096; 3241)
DOTDOTEQ@[3096; 3099)
RANGE_EXPR@[3099; 3241)
DOTDOT@[3099; 3101)
WHITESPACE@[3101; 3102)
RANGE_EXPR@[3102; 3241)
DOTDOT@[3102; 3104)
WHITESPACE@[3104; 3108)
RANGE_EXPR@[3108; 3241)
DOTDOT@[3108; 3110)
WHITESPACE@[3110; 3111)
RANGE_EXPR@[3111; 3241)
DOTDOTEQ@[3111; 3114)
RANGE_EXPR@[3114; 3241)
DOTDOT@[3114; 3116)
WHITESPACE@[3116; 3117)
RANGE_EXPR@[3117; 3241)
DOTDOT@[3117; 3119)
WHITESPACE@[3119; 3124)
RANGE_EXPR@[3124; 3241)
DOTDOTEQ@[3124; 3127)
RANGE_EXPR@[3127; 3241)
DOTDOT@[3127; 3129)
WHITESPACE@[3129; 3130)
RANGE_EXPR@[3130; 3241)
DOTDOTEQ@[3130; 3133)
RANGE_EXPR@[3133; 3241)
DOTDOT@[3133; 3135)
WHITESPACE@[3135; 3139)
RANGE_EXPR@[3139; 3241)
DOTDOTEQ@[3139; 3142)
RANGE_EXPR@[3142; 3241)
DOTDOT@[3142; 3144)
WHITESPACE@[3144; 3145)
RANGE_EXPR@[3145; 3241)
DOTDOTEQ@[3145; 3148)
RANGE_EXPR@[3148; 3241)
DOTDOT@[3148; 3150)
WHITESPACE@[3150; 3154)
RANGE_EXPR@[3154; 3241)
DOTDOT@[3154; 3156)
WHITESPACE@[3156; 3157)
RANGE_EXPR@[3157; 3241)
DOTDOT@[3157; 3159)
WHITESPACE@[3159; 3160)
RANGE_EXPR@[3160; 3241)
DOTDOTEQ@[3160; 3163)
RANGE_EXPR@[3163; 3241)
DOTDOT@[3163; 3165)
WHITESPACE@[3165; 3169)
RANGE_EXPR@[3169; 3241)
DOTDOT@[3169; 3171)
WHITESPACE@[3171; 3172)
RANGE_EXPR@[3172; 3241)
DOTDOTEQ@[3172; 3175)
RANGE_EXPR@[3175; 3241)
DOTDOT@[3175; 3177)
WHITESPACE@[3177; 3178)
RANGE_EXPR@[3178; 3241)
DOTDOT@[3178; 3180)
WHITESPACE@[3180; 3185)
RANGE_EXPR@[3185; 3241)
DOTDOTEQ@[3185; 3188)
RANGE_EXPR@[3188; 3241)
DOTDOT@[3188; 3190)
WHITESPACE@[3190; 3191)
RANGE_EXPR@[3191; 3241)
DOTDOTEQ@[3191; 3194)
RANGE_EXPR@[3194; 3241)
DOTDOT@[3194; 3196)
WHITESPACE@[3196; 3200)
RANGE_EXPR@[3200; 3241)
DOTDOT@[3200; 3202)
WHITESPACE@[3202; 3203)
RANGE_EXPR@[3203; 3241)
DOTDOTEQ@[3203; 3206)
RANGE_EXPR@[3206; 3241)
DOTDOTEQ@[3206; 3209)
RANGE_EXPR@[3209; 3241)
DOTDOT@[3209; 3211)
WHITESPACE@[3211; 3215)
RANGE_EXPR@[3215; 3241)
DOTDOTEQ@[3215; 3218)
RANGE_EXPR@[3218; 3241)
DOTDOTEQ@[3218; 3221)
RANGE_EXPR@[3221; 3241)
DOTDOT@[3221; 3223)
WHITESPACE@[3223; 3224)
RANGE_EXPR@[3224; 3241)
DOTDOT@[3224; 3226)
WHITESPACE@[3226; 3230)
RANGE_EXPR@[3230; 3241)
DOTDOT@[3230; 3232)
WHITESPACE@[3232; 3233)
RANGE_EXPR@[3233; 3241)
DOTDOTEQ@[3233; 3236)
RANGE_EXPR@[3236; 3241)
DOTDOT@[3236; 3238)
WHITESPACE@[3238; 3239)
RANGE_EXPR@[3239; 3241)
DOTDOT@[3239; 3241)
WHITESPACE@[3241; 3242)
R_CURLY@[3242; 3243)
WHITESPACE@[3243; 3245)
FN_DEF@[3245; 3281)
FN_KW@[3245; 3247)
WHITESPACE@[3247; 3248)
NAME@[3248; 3254)
IDENT@[3248; 3254) "ktulhu"
PARAM_LIST@[3254; 3256)
L_PAREN@[3254; 3255)
R_PAREN@[3255; 3256)
WHITESPACE@[3256; 3257)
BLOCK@[3257; 3281)
L_CURLY@[3257; 3258)
WHITESPACE@[3258; 3263)
SEMI@[3263; 3264)
SEMI@[3264; 3265)
SEMI@[3265; 3266)
EXPR_STMT@[3266; 3269)
TUPLE_EXPR@[3266; 3268)
L_PAREN@[3266; 3267)
R_PAREN@[3267; 3268)
SEMI@[3268; 3269)
SEMI@[3269; 3270)
SEMI@[3270; 3271)
SEMI@[3271; 3272)
SEMI@[3272; 3273)
SEMI@[3273; 3274)
SEMI@[3274; 3275)
SEMI@[3275; 3276)
SEMI@[3276; 3277)
TUPLE_EXPR@[3277; 3279)
L_PAREN@[3277; 3278)
R_PAREN@[3278; 3279)
WHITESPACE@[3279; 3280)
R_CURLY@[3280; 3281)
WHITESPACE@[3281; 3283)
FN_DEF@[3283; 3541)
VISIBILITY@[3283; 3286)
PUB_KW@[3283; 3286)
WHITESPACE@[3286; 3287)
FN_KW@[3287; 3289)
WHITESPACE@[3289; 3290)
NAME@[3290; 3294)
IDENT@[3290; 3294) "main"
PARAM_LIST@[3294; 3296)
L_PAREN@[3294; 3295)
R_PAREN@[3295; 3296)
WHITESPACE@[3296; 3297)
BLOCK@[3297; 3541)
L_CURLY@[3297; 3298)
WHITESPACE@[3298; 3303)
EXPR_STMT@[3303; 3313)
CALL_EXPR@[3303; 3312)
PATH_EXPR@[3303; 3310)
PATH@[3303; 3310)
PATH_SEGMENT@[3303; 3310)
NAME_REF@[3303; 3310)
IDENT@[3303; 3310) "strange"
ARG_LIST@[3310; 3312)
L_PAREN@[3310; 3311)
R_PAREN@[3311; 3312)
SEMI@[3312; 3313)
WHITESPACE@[3313; 3318)
EXPR_STMT@[3318; 3326)
CALL_EXPR@[3318; 3325)
PATH_EXPR@[3318; 3323)
PATH@[3318; 3323)
PATH_SEGMENT@[3318; 3323)
NAME_REF@[3318; 3323)
IDENT@[3318; 3323) "funny"
ARG_LIST@[3323; 3325)
L_PAREN@[3323; 3324)
R_PAREN@[3324; 3325)
SEMI@[3325; 3326)
WHITESPACE@[3326; 3331)
EXPR_STMT@[3331; 3338)
CALL_EXPR@[3331; 3337)
PATH_EXPR@[3331; 3335)
PATH@[3331; 3335)
PATH_SEGMENT@[3331; 3335)
NAME_REF@[3331; 3335)
IDENT@[3331; 3335) "what"
ARG_LIST@[3335; 3337)
L_PAREN@[3335; 3336)
R_PAREN@[3336; 3337)
SEMI@[3337; 3338)
WHITESPACE@[3338; 3343)
EXPR_STMT@[3343; 3357)
CALL_EXPR@[3343; 3356)
PATH_EXPR@[3343; 3354)
PATH@[3343; 3354)
PATH_SEGMENT@[3343; 3354)
NAME_REF@[3343; 3354)
IDENT@[3343; 3354) "zombiejesus"
ARG_LIST@[3354; 3356)
L_PAREN@[3354; 3355)
R_PAREN@[3355; 3356)
SEMI@[3356; 3357)
WHITESPACE@[3357; 3362)
EXPR_STMT@[3362; 3372)
CALL_EXPR@[3362; 3371)
PATH_EXPR@[3362; 3369)
PATH@[3362; 3369)
PATH_SEGMENT@[3362; 3369)
NAME_REF@[3362; 3369)
IDENT@[3362; 3369) "notsure"
ARG_LIST@[3369; 3371)
L_PAREN@[3369; 3370)
R_PAREN@[3370; 3371)
SEMI@[3371; 3372)
WHITESPACE@[3372; 3377)
EXPR_STMT@[3377; 3393)
CALL_EXPR@[3377; 3392)
PATH_EXPR@[3377; 3390)
PATH@[3377; 3390)
PATH_SEGMENT@[3377; 3390)
NAME_REF@[3377; 3390)
IDENT@[3377; 3390) "canttouchthis"
ARG_LIST@[3390; 3392)
L_PAREN@[3390; 3391)
R_PAREN@[3391; 3392)
SEMI@[3392; 3393)
WHITESPACE@[3393; 3398)
EXPR_STMT@[3398; 3410)
CALL_EXPR@[3398; 3409)
PATH_EXPR@[3398; 3407)
PATH@[3398; 3407)
PATH_SEGMENT@[3398; 3407)
NAME_REF@[3398; 3407)
IDENT@[3398; 3407) "angrydome"
ARG_LIST@[3407; 3409)
L_PAREN@[3407; 3408)
R_PAREN@[3408; 3409)
SEMI@[3409; 3410)
WHITESPACE@[3410; 3415)
EXPR_STMT@[3415; 3430)
CALL_EXPR@[3415; 3429)
PATH_EXPR@[3415; 3427)
PATH@[3415; 3427)
PATH_SEGMENT@[3415; 3427)
NAME_REF@[3415; 3427)
IDENT@[3415; 3427) "evil_lincoln"
ARG_LIST@[3427; 3429)
L_PAREN@[3427; 3428)
R_PAREN@[3428; 3429)
SEMI@[3429; 3430)
WHITESPACE@[3430; 3435)
EXPR_STMT@[3435; 3442)
CALL_EXPR@[3435; 3441)
PATH_EXPR@[3435; 3439)
PATH@[3435; 3439)
PATH_SEGMENT@[3435; 3439)
NAME_REF@[3435; 3439)
IDENT@[3435; 3439) "dots"
ARG_LIST@[3439; 3441)
L_PAREN@[3439; 3440)
R_PAREN@[3440; 3441)
SEMI@[3441; 3442)
WHITESPACE@[3442; 3447)
EXPR_STMT@[3447; 3455)
CALL_EXPR@[3447; 3454)
PATH_EXPR@[3447; 3449)
PATH@[3447; 3449)
PATH_SEGMENT@[3447; 3449)
NAME_REF@[3447; 3449)
IDENT@[3447; 3449) "u8"
ARG_LIST@[3449; 3454)
L_PAREN@[3449; 3450)
LITERAL@[3450; 3453)
INT_NUMBER@[3450; 3453) "8u8"
R_PAREN@[3453; 3454)
SEMI@[3454; 3455)
WHITESPACE@[3455; 3460)
EXPR_STMT@[3460; 3468)
CALL_EXPR@[3460; 3467)
PATH_EXPR@[3460; 3465)
PATH@[3460; 3465)
PATH_SEGMENT@[3460; 3465)
NAME_REF@[3460; 3465)
IDENT@[3460; 3465) "fishy"
ARG_LIST@[3465; 3467)
L_PAREN@[3465; 3466)
R_PAREN@[3466; 3467)
SEMI@[3467; 3468)
WHITESPACE@[3468; 3473)
EXPR_STMT@[3473; 3481)
CALL_EXPR@[3473; 3480)
PATH_EXPR@[3473; 3478)
PATH@[3473; 3478)
PATH_SEGMENT@[3473; 3478)
NAME_REF@[3473; 3478)
IDENT@[3473; 3478) "union"
ARG_LIST@[3478; 3480)
L_PAREN@[3478; 3479)
R_PAREN@[3479; 3480)
SEMI@[3480; 3481)
WHITESPACE@[3481; 3486)
EXPR_STMT@[3486; 3507)
CALL_EXPR@[3486; 3506)
PATH_EXPR@[3486; 3504)
PATH@[3486; 3504)
PATH_SEGMENT@[3486; 3504)
NAME_REF@[3486; 3504)
IDENT@[3486; 3504) "special_characters"
ARG_LIST@[3504; 3506)
L_PAREN@[3504; 3505)
R_PAREN@[3505; 3506)
SEMI@[3506; 3507)
WHITESPACE@[3507; 3512)
EXPR_STMT@[3512; 3525)
CALL_EXPR@[3512; 3524)
PATH_EXPR@[3512; 3522)
PATH@[3512; 3522)
PATH_SEGMENT@[3512; 3522)
NAME_REF@[3512; 3522)
IDENT@[3512; 3522) "punch_card"
ARG_LIST@[3522; 3524)
L_PAREN@[3522; 3523)
R_PAREN@[3523; 3524)
SEMI@[3524; 3525)
WHITESPACE@[3525; 3530)
EXPR_STMT@[3530; 3539)
CALL_EXPR@[3530; 3538)
PATH_EXPR@[3530; 3536)
PATH@[3530; 3536)
PATH_SEGMENT@[3530; 3536)
NAME_REF@[3530; 3536)
IDENT@[3530; 3536) "ktulhu"
ARG_LIST@[3536; 3538)
L_PAREN@[3536; 3537)
R_PAREN@[3537; 3538)
SEMI@[3538; 3539)
WHITESPACE@[3539; 3540)
R_CURLY@[3540; 3541)
WHITESPACE@[3541; 3542)
LET_STMT@[1926; 1958)
LET_KW@[1926; 1929)
WHITESPACE@[1929; 1930)
BIND_PAT@[1930; 1935)
NAME@[1930; 1935)
IDENT@[1930; 1935) "_evil"
WHITESPACE@[1935; 1936)
EQ@[1936; 1937)
WHITESPACE@[1937; 1938)
MACRO_CALL@[1938; 1957)
PATH@[1938; 1945)
PATH_SEGMENT@[1938; 1945)
NAME_REF@[1938; 1945)
IDENT@[1938; 1945) "println"
EXCL@[1945; 1946)
TOKEN_TREE@[1946; 1957)
L_PAREN@[1946; 1947)
STRING@[1947; 1956)
R_PAREN@[1956; 1957)
SEMI@[1957; 1958)
WHITESPACE@[1958; 1959)
R_CURLY@[1959; 1960)
WHITESPACE@[1960; 1962)
FN_DEF@[1962; 2198)
FN_KW@[1962; 1964)
WHITESPACE@[1964; 1965)
NAME@[1965; 1969)
IDENT@[1965; 1969) "dots"
PARAM_LIST@[1969; 1971)
L_PAREN@[1969; 1970)
R_PAREN@[1970; 1971)
WHITESPACE@[1971; 1972)
BLOCK@[1972; 2198)
L_CURLY@[1972; 1973)
WHITESPACE@[1973; 1978)
EXPR_STMT@[1978; 2196)
MACRO_CALL@[1978; 2195)
PATH@[1978; 1987)
PATH_SEGMENT@[1978; 1987)
NAME_REF@[1978; 1987)
IDENT@[1978; 1987) "assert_eq"
EXCL@[1987; 1988)
TOKEN_TREE@[1988; 2195)
L_PAREN@[1988; 1989)
IDENT@[1989; 1995) "String"
COLONCOLON@[1995; 1997)
IDENT@[1997; 2001) "from"
TOKEN_TREE@[2001; 2055)
L_PAREN@[2001; 2002)
STRING@[2002; 2054)
R_PAREN@[2054; 2055)
COMMA@[2055; 2056)
WHITESPACE@[2056; 2072)
IDENT@[2072; 2078) "format"
EXCL@[2078; 2079)
TOKEN_TREE@[2079; 2194)
L_PAREN@[2079; 2080)
STRING@[2080; 2086)
COMMA@[2086; 2087)
WHITESPACE@[2087; 2088)
DOTDOT@[2088; 2090)
WHITESPACE@[2090; 2091)
DOTDOT@[2091; 2093)
WHITESPACE@[2093; 2094)
DOTDOT@[2094; 2096)
WHITESPACE@[2096; 2097)
DOTDOT@[2097; 2099)
WHITESPACE@[2099; 2100)
DOTDOT@[2100; 2102)
WHITESPACE@[2102; 2103)
DOTDOT@[2103; 2105)
WHITESPACE@[2105; 2106)
DOTDOT@[2106; 2108)
WHITESPACE@[2108; 2109)
DOTDOT@[2109; 2111)
WHITESPACE@[2111; 2112)
DOTDOT@[2112; 2114)
WHITESPACE@[2114; 2115)
DOTDOT@[2115; 2117)
WHITESPACE@[2117; 2118)
DOTDOT@[2118; 2120)
WHITESPACE@[2120; 2121)
DOTDOT@[2121; 2123)
WHITESPACE@[2123; 2124)
DOTDOT@[2124; 2126)
WHITESPACE@[2126; 2158)
DOTDOT@[2158; 2160)
WHITESPACE@[2160; 2161)
DOTDOT@[2161; 2163)
WHITESPACE@[2163; 2164)
DOTDOT@[2164; 2166)
WHITESPACE@[2166; 2167)
DOTDOT@[2167; 2169)
WHITESPACE@[2169; 2170)
DOTDOT@[2170; 2172)
WHITESPACE@[2172; 2173)
DOTDOT@[2173; 2175)
WHITESPACE@[2175; 2176)
DOTDOT@[2176; 2178)
WHITESPACE@[2178; 2179)
DOTDOT@[2179; 2181)
WHITESPACE@[2181; 2182)
DOTDOT@[2182; 2184)
WHITESPACE@[2184; 2185)
DOTDOT@[2185; 2187)
WHITESPACE@[2187; 2188)
DOTDOT@[2188; 2190)
WHITESPACE@[2190; 2191)
DOTDOT@[2191; 2193)
R_PAREN@[2193; 2194)
R_PAREN@[2194; 2195)
SEMI@[2195; 2196)
WHITESPACE@[2196; 2197)
R_CURLY@[2197; 2198)
WHITESPACE@[2198; 2200)
FN_DEF@[2200; 2693)
FN_KW@[2200; 2202)
WHITESPACE@[2202; 2203)
NAME@[2203; 2205)
IDENT@[2203; 2205) "u8"
PARAM_LIST@[2205; 2213)
L_PAREN@[2205; 2206)
PARAM@[2206; 2212)
BIND_PAT@[2206; 2208)
NAME@[2206; 2208)
IDENT@[2206; 2208) "u8"
COLON@[2208; 2209)
WHITESPACE@[2209; 2210)
PATH_TYPE@[2210; 2212)
PATH@[2210; 2212)
PATH_SEGMENT@[2210; 2212)
NAME_REF@[2210; 2212)
IDENT@[2210; 2212) "u8"
R_PAREN@[2212; 2213)
WHITESPACE@[2213; 2214)
BLOCK@[2214; 2693)
L_CURLY@[2214; 2215)
WHITESPACE@[2215; 2220)
IF_EXPR@[2220; 2691)
IF_KW@[2220; 2222)
WHITESPACE@[2222; 2223)
CONDITION@[2223; 2232)
BIN_EXPR@[2223; 2232)
PATH_EXPR@[2223; 2225)
PATH@[2223; 2225)
PATH_SEGMENT@[2223; 2225)
NAME_REF@[2223; 2225)
IDENT@[2223; 2225) "u8"
WHITESPACE@[2225; 2226)
NEQ@[2226; 2228)
WHITESPACE@[2228; 2229)
LITERAL@[2229; 2232)
INT_NUMBER@[2229; 2232) "0u8"
WHITESPACE@[2232; 2233)
BLOCK@[2233; 2691)
L_CURLY@[2233; 2234)
WHITESPACE@[2234; 2243)
EXPR_STMT@[2243; 2685)
MACRO_CALL@[2243; 2684)
PATH@[2243; 2252)
PATH_SEGMENT@[2243; 2252)
NAME_REF@[2243; 2252)
IDENT@[2243; 2252) "assert_eq"
EXCL@[2252; 2253)
TOKEN_TREE@[2253; 2684)
L_PAREN@[2253; 2254)
INT_NUMBER@[2254; 2257) "8u8"
COMMA@[2257; 2258)
WHITESPACE@[2258; 2259)
TOKEN_TREE@[2259; 2683)
L_CURLY@[2259; 2260)
WHITESPACE@[2260; 2273)
IDENT@[2273; 2284) "macro_rules"
EXCL@[2284; 2285)
WHITESPACE@[2285; 2286)
IDENT@[2286; 2288) "u8"
WHITESPACE@[2288; 2289)
TOKEN_TREE@[2289; 2567)
L_CURLY@[2289; 2290)
WHITESPACE@[2290; 2307)
TOKEN_TREE@[2307; 2311)
L_PAREN@[2307; 2308)
IDENT@[2308; 2310) "u8"
R_PAREN@[2310; 2311)
WHITESPACE@[2311; 2312)
FAT_ARROW@[2312; 2314)
WHITESPACE@[2314; 2315)
TOKEN_TREE@[2315; 2552)
L_CURLY@[2315; 2316)
WHITESPACE@[2316; 2337)
MOD_KW@[2337; 2340)
WHITESPACE@[2340; 2341)
IDENT@[2341; 2343) "u8"
WHITESPACE@[2343; 2344)
TOKEN_TREE@[2344; 2534)
L_CURLY@[2344; 2345)
WHITESPACE@[2345; 2370)
PUB_KW@[2370; 2373)
WHITESPACE@[2373; 2374)
FN_KW@[2374; 2376)
WHITESPACE@[2376; 2377)
IDENT@[2377; 2379) "u8"
L_ANGLE@[2379; 2380)
LIFETIME@[2380; 2383) "'u8"
COLON@[2383; 2384)
WHITESPACE@[2384; 2385)
LIFETIME@[2385; 2388) "'u8"
WHITESPACE@[2388; 2389)
PLUS@[2389; 2390)
WHITESPACE@[2390; 2391)
LIFETIME@[2391; 2394) "'u8"
R_ANGLE@[2394; 2395)
TOKEN_TREE@[2395; 2408)
L_PAREN@[2395; 2396)
IDENT@[2396; 2398) "u8"
COLON@[2398; 2399)
WHITESPACE@[2399; 2400)
AMP@[2400; 2401)
LIFETIME@[2401; 2404) "'u8"
WHITESPACE@[2404; 2405)
IDENT@[2405; 2407) "u8"
R_PAREN@[2407; 2408)
WHITESPACE@[2408; 2409)
THIN_ARROW@[2409; 2411)
WHITESPACE@[2411; 2412)
AMP@[2412; 2413)
LIFETIME@[2413; 2416) "'u8"
WHITESPACE@[2416; 2417)
IDENT@[2417; 2419) "u8"
WHITESPACE@[2419; 2420)
TOKEN_TREE@[2420; 2512)
L_CURLY@[2420; 2421)
WHITESPACE@[2421; 2450)
STRING@[2450; 2454)
SEMI@[2454; 2455)
WHITESPACE@[2455; 2484)
IDENT@[2484; 2486) "u8"
WHITESPACE@[2486; 2511)
R_CURLY@[2511; 2512)
WHITESPACE@[2512; 2533)
R_CURLY@[2533; 2534)
WHITESPACE@[2534; 2551)
R_CURLY@[2551; 2552)
SEMI@[2552; 2553)
WHITESPACE@[2553; 2566)
R_CURLY@[2566; 2567)
WHITESPACE@[2567; 2581)
IDENT@[2581; 2583) "u8"
EXCL@[2583; 2584)
TOKEN_TREE@[2584; 2588)
L_PAREN@[2584; 2585)
IDENT@[2585; 2587) "u8"
R_PAREN@[2587; 2588)
SEMI@[2588; 2589)
WHITESPACE@[2589; 2602)
LET_KW@[2602; 2605)
WHITESPACE@[2605; 2606)
AMP@[2606; 2607)
IDENT@[2607; 2609) "u8"
COLON@[2609; 2610)
WHITESPACE@[2610; 2611)
AMP@[2611; 2612)
IDENT@[2612; 2614) "u8"
WHITESPACE@[2614; 2615)
EQ@[2615; 2616)
WHITESPACE@[2616; 2617)
IDENT@[2617; 2619) "u8"
COLONCOLON@[2619; 2621)
IDENT@[2621; 2623) "u8"
TOKEN_TREE@[2623; 2629)
L_PAREN@[2623; 2624)
AMP@[2624; 2625)
INT_NUMBER@[2625; 2628) "8u8"
R_PAREN@[2628; 2629)
SEMI@[2629; 2630)
WHITESPACE@[2630; 2643)
CRATE_KW@[2643; 2648)
COLONCOLON@[2648; 2650)
IDENT@[2650; 2652) "u8"
TOKEN_TREE@[2652; 2657)
L_PAREN@[2652; 2653)
INT_NUMBER@[2653; 2656) "0u8"
R_PAREN@[2656; 2657)
SEMI@[2657; 2658)
WHITESPACE@[2658; 2671)
IDENT@[2671; 2673) "u8"
WHITESPACE@[2673; 2682)
R_CURLY@[2682; 2683)
R_PAREN@[2683; 2684)
SEMI@[2684; 2685)
WHITESPACE@[2685; 2690)
R_CURLY@[2690; 2691)
WHITESPACE@[2691; 2692)
R_CURLY@[2692; 2693)
WHITESPACE@[2693; 2695)
FN_DEF@[2695; 2832)
FN_KW@[2695; 2697)
WHITESPACE@[2697; 2698)
NAME@[2698; 2703)
IDENT@[2698; 2703) "fishy"
PARAM_LIST@[2703; 2705)
L_PAREN@[2703; 2704)
R_PAREN@[2704; 2705)
WHITESPACE@[2705; 2706)
BLOCK@[2706; 2832)
L_CURLY@[2706; 2707)
WHITESPACE@[2707; 2712)
EXPR_STMT@[2712; 2830)
MACRO_CALL@[2712; 2829)
PATH@[2712; 2721)
PATH_SEGMENT@[2712; 2721)
NAME_REF@[2712; 2721)
IDENT@[2712; 2721) "assert_eq"
EXCL@[2721; 2722)
TOKEN_TREE@[2722; 2829)
L_PAREN@[2722; 2723)
IDENT@[2723; 2729) "String"
COLONCOLON@[2729; 2731)
IDENT@[2731; 2735) "from"
TOKEN_TREE@[2735; 2742)
L_PAREN@[2735; 2736)
STRING@[2736; 2741)
R_PAREN@[2741; 2742)
COMMA@[2742; 2743)
WHITESPACE@[2743; 2759)
IDENT@[2759; 2765) "String"
COLONCOLON@[2765; 2767)
L_ANGLE@[2767; 2768)
R_ANGLE@[2768; 2769)
COLONCOLON@[2769; 2771)
IDENT@[2771; 2775) "from"
COLONCOLON@[2775; 2777)
L_ANGLE@[2777; 2778)
R_ANGLE@[2778; 2779)
TOKEN_TREE@[2779; 2786)
L_PAREN@[2779; 2780)
STRING@[2780; 2785)
R_PAREN@[2785; 2786)
DOT@[2786; 2787)
IDENT@[2787; 2792) "chars"
COLONCOLON@[2792; 2794)
L_ANGLE@[2794; 2795)
R_ANGLE@[2795; 2796)
TOKEN_TREE@[2796; 2798)
L_PAREN@[2796; 2797)
R_PAREN@[2797; 2798)
DOT@[2798; 2799)
IDENT@[2799; 2802) "rev"
COLONCOLON@[2802; 2804)
L_ANGLE@[2804; 2805)
R_ANGLE@[2805; 2806)
TOKEN_TREE@[2806; 2808)
L_PAREN@[2806; 2807)
R_PAREN@[2807; 2808)
DOT@[2808; 2809)
IDENT@[2809; 2816) "collect"
COLONCOLON@[2816; 2818)
L_ANGLE@[2818; 2819)
IDENT@[2819; 2825) "String"
R_ANGLE@[2825; 2826)
TOKEN_TREE@[2826; 2828)
L_PAREN@[2826; 2827)
R_PAREN@[2827; 2828)
R_PAREN@[2828; 2829)
SEMI@[2829; 2830)
WHITESPACE@[2830; 2831)
R_CURLY@[2831; 2832)
WHITESPACE@[2832; 2834)
FN_DEF@[2834; 2906)
FN_KW@[2834; 2836)
WHITESPACE@[2836; 2837)
NAME@[2837; 2842)
IDENT@[2837; 2842) "union"
PARAM_LIST@[2842; 2844)
L_PAREN@[2842; 2843)
R_PAREN@[2843; 2844)
WHITESPACE@[2844; 2845)
BLOCK@[2845; 2906)
L_CURLY@[2845; 2846)
WHITESPACE@[2846; 2851)
STRUCT_DEF@[2851; 2904)
UNION_KW@[2851; 2856)
WHITESPACE@[2856; 2857)
NAME@[2857; 2862)
IDENT@[2857; 2862) "union"
TYPE_PARAM_LIST@[2862; 2870)
L_ANGLE@[2862; 2863)
LIFETIME_PARAM@[2863; 2869)
LIFETIME@[2863; 2869) "'union"
R_ANGLE@[2869; 2870)
WHITESPACE@[2870; 2871)
NAMED_FIELD_DEF_LIST@[2871; 2904)
L_CURLY@[2871; 2872)
WHITESPACE@[2872; 2873)
NAMED_FIELD_DEF@[2873; 2901)
NAME@[2873; 2878)
IDENT@[2873; 2878) "union"
COLON@[2878; 2879)
WHITESPACE@[2879; 2880)
REFERENCE_TYPE@[2880; 2901)
AMP@[2880; 2881)
LIFETIME@[2881; 2887) "'union"
WHITESPACE@[2887; 2888)
PATH_TYPE@[2888; 2901)
PATH@[2888; 2901)
PATH_SEGMENT@[2888; 2901)
NAME_REF@[2888; 2893)
IDENT@[2888; 2893) "union"
TYPE_ARG_LIST@[2893; 2901)
L_ANGLE@[2893; 2894)
LIFETIME_ARG@[2894; 2900)
LIFETIME@[2894; 2900) "'union"
R_ANGLE@[2900; 2901)
COMMA@[2901; 2902)
WHITESPACE@[2902; 2903)
R_CURLY@[2903; 2904)
WHITESPACE@[2904; 2905)
R_CURLY@[2905; 2906)
WHITESPACE@[2906; 2908)
FN_DEF@[2908; 3042)
FN_KW@[2908; 2910)
WHITESPACE@[2910; 2911)
NAME@[2911; 2929)
IDENT@[2911; 2929) "special_characters"
PARAM_LIST@[2929; 2931)
L_PAREN@[2929; 2930)
R_PAREN@[2930; 2931)
WHITESPACE@[2931; 2932)
BLOCK@[2932; 3042)
L_CURLY@[2932; 2933)
WHITESPACE@[2933; 2938)
LET_STMT@[2938; 3021)
LET_KW@[2938; 2941)
WHITESPACE@[2941; 2942)
BIND_PAT@[2942; 2945)
NAME@[2942; 2945)
IDENT@[2942; 2945) "val"
WHITESPACE@[2945; 2946)
EQ@[2946; 2947)
WHITESPACE@[2947; 2948)
PREFIX_EXPR@[2948; 3013)
EXCL@[2948; 2949)
PAREN_EXPR@[2949; 3013)
L_PAREN@[2949; 2950)
BIN_EXPR@[2950; 3012)
CALL_EXPR@[2950; 2995)
PAREN_EXPR@[2950; 2971)
L_PAREN@[2950; 2951)
LAMBDA_EXPR@[2951; 2970)
PARAM_LIST@[2951; 2968)
PIPE@[2951; 2952)
PARAM@[2952; 2962)
TUPLE_PAT@[2952; 2956)
L_PAREN@[2952; 2953)
DOTDOT@[2953; 2955)
R_PAREN@[2955; 2956)
COLON@[2956; 2957)
TUPLE_TYPE@[2957; 2962)
L_PAREN@[2957; 2958)
PLACEHOLDER_TYPE@[2958; 2959)
UNDERSCORE@[2958; 2959)
COMMA@[2959; 2960)
PLACEHOLDER_TYPE@[2960; 2961)
UNDERSCORE@[2960; 2961)
R_PAREN@[2961; 2962)
COMMA@[2962; 2963)
PARAM@[2963; 2967)
BIND_PAT@[2963; 2967)
NAME@[2963; 2965)
IDENT@[2963; 2965) "__"
AT@[2965; 2966)
PLACEHOLDER_PAT@[2966; 2967)
UNDERSCORE@[2966; 2967)
PIPE@[2967; 2968)
PATH_EXPR@[2968; 2970)
PATH@[2968; 2970)
PATH_SEGMENT@[2968; 2970)
NAME_REF@[2968; 2970)
IDENT@[2968; 2970) "__"
R_PAREN@[2970; 2971)
ARG_LIST@[2971; 2995)
L_PAREN@[2971; 2972)
TUPLE_EXPR@[2972; 2987)
L_PAREN@[2972; 2973)
REF_EXPR@[2973; 2979)
AMP@[2973; 2974)
PREFIX_EXPR@[2974; 2979)
STAR@[2974; 2975)
LITERAL@[2975; 2979)
STRING@[2975; 2979)
COMMA@[2979; 2980)
LITERAL@[2980; 2986)
CHAR@[2980; 2986)
R_PAREN@[2986; 2987)
COMMENT@[2987; 2991)
COMMA@[2991; 2992)
BLOCK_EXPR@[2992; 2994)
BLOCK@[2992; 2994)
L_CURLY@[2992; 2993)
R_CURLY@[2993; 2994)
R_PAREN@[2994; 2995)
EQEQ@[2995; 2997)
BLOCK_EXPR@[2997; 3012)
BLOCK@[2997; 3012)
L_CURLY@[2997; 2998)
EXPR_STMT@[2998; 3011)
REF_EXPR@[2998; 3010)
AMP@[2998; 2999)
INDEX_EXPR@[2999; 3010)
ARRAY_EXPR@[2999; 3006)
L_BRACK@[2999; 3000)
RANGE_EXPR@[3000; 3005)
DOTDOTEQ@[3000; 3003)
RANGE_EXPR@[3003; 3005)
DOTDOT@[3003; 3005)
R_BRACK@[3005; 3006)
L_BRACK@[3006; 3007)
RANGE_EXPR@[3007; 3009)
DOTDOT@[3007; 3009)
R_BRACK@[3009; 3010)
SEMI@[3010; 3011)
R_CURLY@[3011; 3012)
R_PAREN@[3012; 3013)
COMMENT@[3013; 3015)
WHITESPACE@[3015; 3020)
SEMI@[3020; 3021)
WHITESPACE@[3021; 3026)
EXPR_STMT@[3026; 3040)
MACRO_CALL@[3026; 3039)
PATH@[3026; 3032)
PATH_SEGMENT@[3026; 3032)
NAME_REF@[3026; 3032)
IDENT@[3026; 3032) "assert"
EXCL@[3032; 3033)
TOKEN_TREE@[3033; 3039)
L_PAREN@[3033; 3034)
EXCL@[3034; 3035)
IDENT@[3035; 3038) "val"
R_PAREN@[3038; 3039)
SEMI@[3039; 3040)
WHITESPACE@[3040; 3041)
R_CURLY@[3041; 3042)
WHITESPACE@[3042; 3044)
FN_DEF@[3044; 3514)
FN_KW@[3044; 3046)
WHITESPACE@[3046; 3047)
NAME@[3047; 3057)
IDENT@[3047; 3057) "punch_card"
PARAM_LIST@[3057; 3059)
L_PAREN@[3057; 3058)
R_PAREN@[3058; 3059)
WHITESPACE@[3059; 3060)
RET_TYPE@[3060; 3083)
THIN_ARROW@[3060; 3062)
WHITESPACE@[3062; 3063)
IMPL_TRAIT_TYPE@[3063; 3083)
IMPL_KW@[3063; 3067)
WHITESPACE@[3067; 3068)
PATH_TYPE@[3068; 3083)
PATH@[3068; 3083)
PATH@[3068; 3076)
PATH@[3068; 3071)
PATH_SEGMENT@[3068; 3071)
NAME_REF@[3068; 3071)
IDENT@[3068; 3071) "std"
COLONCOLON@[3071; 3073)
PATH_SEGMENT@[3073; 3076)
NAME_REF@[3073; 3076)
IDENT@[3073; 3076) "fmt"
COLONCOLON@[3076; 3078)
PATH_SEGMENT@[3078; 3083)
NAME_REF@[3078; 3083)
IDENT@[3078; 3083) "Debug"
WHITESPACE@[3083; 3084)
BLOCK@[3084; 3514)
L_CURLY@[3084; 3085)
WHITESPACE@[3085; 3090)
RANGE_EXPR@[3090; 3512)
DOTDOTEQ@[3090; 3093)
RANGE_EXPR@[3093; 3512)
DOTDOTEQ@[3093; 3096)
RANGE_EXPR@[3096; 3512)
DOTDOT@[3096; 3098)
WHITESPACE@[3098; 3099)
RANGE_EXPR@[3099; 3512)
DOTDOT@[3099; 3101)
WHITESPACE@[3101; 3105)
RANGE_EXPR@[3105; 3512)
DOTDOT@[3105; 3107)
WHITESPACE@[3107; 3108)
RANGE_EXPR@[3108; 3512)
DOTDOT@[3108; 3110)
WHITESPACE@[3110; 3111)
RANGE_EXPR@[3111; 3512)
DOTDOT@[3111; 3113)
WHITESPACE@[3113; 3114)
RANGE_EXPR@[3114; 3512)
DOTDOT@[3114; 3116)
WHITESPACE@[3116; 3120)
RANGE_EXPR@[3120; 3512)
DOTDOT@[3120; 3122)
WHITESPACE@[3122; 3123)
RANGE_EXPR@[3123; 3512)
DOTDOT@[3123; 3125)
WHITESPACE@[3125; 3126)
RANGE_EXPR@[3126; 3512)
DOTDOT@[3126; 3128)
WHITESPACE@[3128; 3129)
RANGE_EXPR@[3129; 3512)
DOTDOT@[3129; 3131)
WHITESPACE@[3131; 3135)
RANGE_EXPR@[3135; 3512)
DOTDOT@[3135; 3137)
WHITESPACE@[3137; 3138)
RANGE_EXPR@[3138; 3512)
DOTDOTEQ@[3138; 3141)
RANGE_EXPR@[3141; 3512)
DOTDOT@[3141; 3143)
WHITESPACE@[3143; 3144)
RANGE_EXPR@[3144; 3512)
DOTDOT@[3144; 3146)
WHITESPACE@[3146; 3151)
RANGE_EXPR@[3151; 3512)
DOTDOTEQ@[3151; 3154)
RANGE_EXPR@[3154; 3512)
DOTDOT@[3154; 3156)
WHITESPACE@[3156; 3157)
RANGE_EXPR@[3157; 3512)
DOTDOTEQ@[3157; 3160)
RANGE_EXPR@[3160; 3512)
DOTDOT@[3160; 3162)
WHITESPACE@[3162; 3166)
RANGE_EXPR@[3166; 3512)
DOTDOT@[3166; 3168)
WHITESPACE@[3168; 3169)
RANGE_EXPR@[3169; 3512)
DOTDOT@[3169; 3171)
WHITESPACE@[3171; 3172)
RANGE_EXPR@[3172; 3512)
DOTDOT@[3172; 3174)
WHITESPACE@[3174; 3175)
RANGE_EXPR@[3175; 3512)
DOTDOT@[3175; 3177)
WHITESPACE@[3177; 3181)
RANGE_EXPR@[3181; 3512)
DOTDOT@[3181; 3183)
WHITESPACE@[3183; 3184)
RANGE_EXPR@[3184; 3512)
DOTDOT@[3184; 3186)
WHITESPACE@[3186; 3187)
RANGE_EXPR@[3187; 3512)
DOTDOT@[3187; 3189)
WHITESPACE@[3189; 3190)
RANGE_EXPR@[3190; 3512)
DOTDOT@[3190; 3192)
WHITESPACE@[3192; 3196)
RANGE_EXPR@[3196; 3512)
DOTDOTEQ@[3196; 3199)
RANGE_EXPR@[3199; 3512)
DOTDOTEQ@[3199; 3202)
RANGE_EXPR@[3202; 3512)
DOTDOTEQ@[3202; 3205)
RANGE_EXPR@[3205; 3512)
DOTDOT@[3205; 3207)
WHITESPACE@[3207; 3212)
RANGE_EXPR@[3212; 3512)
DOTDOTEQ@[3212; 3215)
RANGE_EXPR@[3215; 3512)
DOTDOT@[3215; 3217)
WHITESPACE@[3217; 3218)
RANGE_EXPR@[3218; 3512)
DOTDOTEQ@[3218; 3221)
RANGE_EXPR@[3221; 3512)
DOTDOT@[3221; 3223)
WHITESPACE@[3223; 3227)
RANGE_EXPR@[3227; 3512)
DOTDOTEQ@[3227; 3230)
RANGE_EXPR@[3230; 3512)
DOTDOT@[3230; 3232)
WHITESPACE@[3232; 3233)
RANGE_EXPR@[3233; 3512)
DOTDOTEQ@[3233; 3236)
RANGE_EXPR@[3236; 3512)
DOTDOT@[3236; 3238)
WHITESPACE@[3238; 3242)
RANGE_EXPR@[3242; 3512)
DOTDOT@[3242; 3244)
WHITESPACE@[3244; 3245)
RANGE_EXPR@[3245; 3512)
DOTDOTEQ@[3245; 3248)
RANGE_EXPR@[3248; 3512)
DOTDOTEQ@[3248; 3251)
RANGE_EXPR@[3251; 3512)
DOTDOT@[3251; 3253)
WHITESPACE@[3253; 3257)
RANGE_EXPR@[3257; 3512)
DOTDOT@[3257; 3259)
WHITESPACE@[3259; 3260)
RANGE_EXPR@[3260; 3512)
DOTDOTEQ@[3260; 3263)
RANGE_EXPR@[3263; 3512)
DOTDOT@[3263; 3265)
WHITESPACE@[3265; 3266)
RANGE_EXPR@[3266; 3512)
DOTDOT@[3266; 3268)
WHITESPACE@[3268; 3273)
RANGE_EXPR@[3273; 3512)
DOTDOTEQ@[3273; 3276)
RANGE_EXPR@[3276; 3512)
DOTDOTEQ@[3276; 3279)
RANGE_EXPR@[3279; 3512)
DOTDOT@[3279; 3281)
WHITESPACE@[3281; 3282)
RANGE_EXPR@[3282; 3512)
DOTDOT@[3282; 3284)
WHITESPACE@[3284; 3288)
RANGE_EXPR@[3288; 3512)
DOTDOTEQ@[3288; 3291)
RANGE_EXPR@[3291; 3512)
DOTDOT@[3291; 3293)
WHITESPACE@[3293; 3294)
RANGE_EXPR@[3294; 3512)
DOTDOTEQ@[3294; 3297)
RANGE_EXPR@[3297; 3512)
DOTDOT@[3297; 3299)
WHITESPACE@[3299; 3303)
RANGE_EXPR@[3303; 3512)
DOTDOTEQ@[3303; 3306)
RANGE_EXPR@[3306; 3512)
DOTDOT@[3306; 3308)
WHITESPACE@[3308; 3309)
RANGE_EXPR@[3309; 3512)
DOTDOT@[3309; 3311)
WHITESPACE@[3311; 3312)
RANGE_EXPR@[3312; 3512)
DOTDOT@[3312; 3314)
WHITESPACE@[3314; 3318)
RANGE_EXPR@[3318; 3512)
DOTDOT@[3318; 3320)
WHITESPACE@[3320; 3321)
RANGE_EXPR@[3321; 3512)
DOTDOTEQ@[3321; 3324)
RANGE_EXPR@[3324; 3512)
DOTDOT@[3324; 3326)
WHITESPACE@[3326; 3327)
RANGE_EXPR@[3327; 3512)
DOTDOT@[3327; 3329)
WHITESPACE@[3329; 3334)
RANGE_EXPR@[3334; 3512)
DOTDOTEQ@[3334; 3337)
RANGE_EXPR@[3337; 3512)
DOTDOT@[3337; 3339)
WHITESPACE@[3339; 3340)
RANGE_EXPR@[3340; 3512)
DOTDOTEQ@[3340; 3343)
RANGE_EXPR@[3343; 3512)
DOTDOT@[3343; 3345)
WHITESPACE@[3345; 3349)
RANGE_EXPR@[3349; 3512)
DOTDOTEQ@[3349; 3352)
RANGE_EXPR@[3352; 3512)
DOTDOT@[3352; 3354)
WHITESPACE@[3354; 3355)
RANGE_EXPR@[3355; 3512)
DOTDOTEQ@[3355; 3358)
RANGE_EXPR@[3358; 3512)
DOTDOT@[3358; 3360)
WHITESPACE@[3360; 3364)
RANGE_EXPR@[3364; 3512)
DOTDOT@[3364; 3366)
WHITESPACE@[3366; 3367)
RANGE_EXPR@[3367; 3512)
DOTDOTEQ@[3367; 3370)
RANGE_EXPR@[3370; 3512)
DOTDOT@[3370; 3372)
WHITESPACE@[3372; 3373)
RANGE_EXPR@[3373; 3512)
DOTDOT@[3373; 3375)
WHITESPACE@[3375; 3379)
RANGE_EXPR@[3379; 3512)
DOTDOT@[3379; 3381)
WHITESPACE@[3381; 3382)
RANGE_EXPR@[3382; 3512)
DOTDOTEQ@[3382; 3385)
RANGE_EXPR@[3385; 3512)
DOTDOT@[3385; 3387)
WHITESPACE@[3387; 3388)
RANGE_EXPR@[3388; 3512)
DOTDOT@[3388; 3390)
WHITESPACE@[3390; 3395)
RANGE_EXPR@[3395; 3512)
DOTDOTEQ@[3395; 3398)
RANGE_EXPR@[3398; 3512)
DOTDOT@[3398; 3400)
WHITESPACE@[3400; 3401)
RANGE_EXPR@[3401; 3512)
DOTDOTEQ@[3401; 3404)
RANGE_EXPR@[3404; 3512)
DOTDOT@[3404; 3406)
WHITESPACE@[3406; 3410)
RANGE_EXPR@[3410; 3512)
DOTDOTEQ@[3410; 3413)
RANGE_EXPR@[3413; 3512)
DOTDOT@[3413; 3415)
WHITESPACE@[3415; 3416)
RANGE_EXPR@[3416; 3512)
DOTDOTEQ@[3416; 3419)
RANGE_EXPR@[3419; 3512)
DOTDOT@[3419; 3421)
WHITESPACE@[3421; 3425)
RANGE_EXPR@[3425; 3512)
DOTDOT@[3425; 3427)
WHITESPACE@[3427; 3428)
RANGE_EXPR@[3428; 3512)
DOTDOT@[3428; 3430)
WHITESPACE@[3430; 3431)
RANGE_EXPR@[3431; 3512)
DOTDOTEQ@[3431; 3434)
RANGE_EXPR@[3434; 3512)
DOTDOT@[3434; 3436)
WHITESPACE@[3436; 3440)
RANGE_EXPR@[3440; 3512)
DOTDOT@[3440; 3442)
WHITESPACE@[3442; 3443)
RANGE_EXPR@[3443; 3512)
DOTDOTEQ@[3443; 3446)
RANGE_EXPR@[3446; 3512)
DOTDOT@[3446; 3448)
WHITESPACE@[3448; 3449)
RANGE_EXPR@[3449; 3512)
DOTDOT@[3449; 3451)
WHITESPACE@[3451; 3456)
RANGE_EXPR@[3456; 3512)
DOTDOTEQ@[3456; 3459)
RANGE_EXPR@[3459; 3512)
DOTDOT@[3459; 3461)
WHITESPACE@[3461; 3462)
RANGE_EXPR@[3462; 3512)
DOTDOTEQ@[3462; 3465)
RANGE_EXPR@[3465; 3512)
DOTDOT@[3465; 3467)
WHITESPACE@[3467; 3471)
RANGE_EXPR@[3471; 3512)
DOTDOT@[3471; 3473)
WHITESPACE@[3473; 3474)
RANGE_EXPR@[3474; 3512)
DOTDOTEQ@[3474; 3477)
RANGE_EXPR@[3477; 3512)
DOTDOTEQ@[3477; 3480)
RANGE_EXPR@[3480; 3512)
DOTDOT@[3480; 3482)
WHITESPACE@[3482; 3486)
RANGE_EXPR@[3486; 3512)
DOTDOTEQ@[3486; 3489)
RANGE_EXPR@[3489; 3512)
DOTDOTEQ@[3489; 3492)
RANGE_EXPR@[3492; 3512)
DOTDOT@[3492; 3494)
WHITESPACE@[3494; 3495)
RANGE_EXPR@[3495; 3512)
DOTDOT@[3495; 3497)
WHITESPACE@[3497; 3501)
RANGE_EXPR@[3501; 3512)
DOTDOT@[3501; 3503)
WHITESPACE@[3503; 3504)
RANGE_EXPR@[3504; 3512)
DOTDOTEQ@[3504; 3507)
RANGE_EXPR@[3507; 3512)
DOTDOT@[3507; 3509)
WHITESPACE@[3509; 3510)
RANGE_EXPR@[3510; 3512)
DOTDOT@[3510; 3512)
WHITESPACE@[3512; 3513)
R_CURLY@[3513; 3514)
WHITESPACE@[3514; 3516)
FN_DEF@[3516; 3552)
FN_KW@[3516; 3518)
WHITESPACE@[3518; 3519)
NAME@[3519; 3525)
IDENT@[3519; 3525) "ktulhu"
PARAM_LIST@[3525; 3527)
L_PAREN@[3525; 3526)
R_PAREN@[3526; 3527)
WHITESPACE@[3527; 3528)
BLOCK@[3528; 3552)
L_CURLY@[3528; 3529)
WHITESPACE@[3529; 3534)
SEMI@[3534; 3535)
SEMI@[3535; 3536)
SEMI@[3536; 3537)
EXPR_STMT@[3537; 3540)
TUPLE_EXPR@[3537; 3539)
L_PAREN@[3537; 3538)
R_PAREN@[3538; 3539)
SEMI@[3539; 3540)
SEMI@[3540; 3541)
SEMI@[3541; 3542)
SEMI@[3542; 3543)
SEMI@[3543; 3544)
SEMI@[3544; 3545)
SEMI@[3545; 3546)
SEMI@[3546; 3547)
SEMI@[3547; 3548)
TUPLE_EXPR@[3548; 3550)
L_PAREN@[3548; 3549)
R_PAREN@[3549; 3550)
WHITESPACE@[3550; 3551)
R_CURLY@[3551; 3552)
WHITESPACE@[3552; 3554)
FN_DEF@[3554; 3812)
VISIBILITY@[3554; 3557)
PUB_KW@[3554; 3557)
WHITESPACE@[3557; 3558)
FN_KW@[3558; 3560)
WHITESPACE@[3560; 3561)
NAME@[3561; 3565)
IDENT@[3561; 3565) "main"
PARAM_LIST@[3565; 3567)
L_PAREN@[3565; 3566)
R_PAREN@[3566; 3567)
WHITESPACE@[3567; 3568)
BLOCK@[3568; 3812)
L_CURLY@[3568; 3569)
WHITESPACE@[3569; 3574)
EXPR_STMT@[3574; 3584)
CALL_EXPR@[3574; 3583)
PATH_EXPR@[3574; 3581)
PATH@[3574; 3581)
PATH_SEGMENT@[3574; 3581)
NAME_REF@[3574; 3581)
IDENT@[3574; 3581) "strange"
ARG_LIST@[3581; 3583)
L_PAREN@[3581; 3582)
R_PAREN@[3582; 3583)
SEMI@[3583; 3584)
WHITESPACE@[3584; 3589)
EXPR_STMT@[3589; 3597)
CALL_EXPR@[3589; 3596)
PATH_EXPR@[3589; 3594)
PATH@[3589; 3594)
PATH_SEGMENT@[3589; 3594)
NAME_REF@[3589; 3594)
IDENT@[3589; 3594) "funny"
ARG_LIST@[3594; 3596)
L_PAREN@[3594; 3595)
R_PAREN@[3595; 3596)
SEMI@[3596; 3597)
WHITESPACE@[3597; 3602)
EXPR_STMT@[3602; 3609)
CALL_EXPR@[3602; 3608)
PATH_EXPR@[3602; 3606)
PATH@[3602; 3606)
PATH_SEGMENT@[3602; 3606)
NAME_REF@[3602; 3606)
IDENT@[3602; 3606) "what"
ARG_LIST@[3606; 3608)
L_PAREN@[3606; 3607)
R_PAREN@[3607; 3608)
SEMI@[3608; 3609)
WHITESPACE@[3609; 3614)
EXPR_STMT@[3614; 3628)
CALL_EXPR@[3614; 3627)
PATH_EXPR@[3614; 3625)
PATH@[3614; 3625)
PATH_SEGMENT@[3614; 3625)
NAME_REF@[3614; 3625)
IDENT@[3614; 3625) "zombiejesus"
ARG_LIST@[3625; 3627)
L_PAREN@[3625; 3626)
R_PAREN@[3626; 3627)
SEMI@[3627; 3628)
WHITESPACE@[3628; 3633)
EXPR_STMT@[3633; 3643)
CALL_EXPR@[3633; 3642)
PATH_EXPR@[3633; 3640)
PATH@[3633; 3640)
PATH_SEGMENT@[3633; 3640)
NAME_REF@[3633; 3640)
IDENT@[3633; 3640) "notsure"
ARG_LIST@[3640; 3642)
L_PAREN@[3640; 3641)
R_PAREN@[3641; 3642)
SEMI@[3642; 3643)
WHITESPACE@[3643; 3648)
EXPR_STMT@[3648; 3664)
CALL_EXPR@[3648; 3663)
PATH_EXPR@[3648; 3661)
PATH@[3648; 3661)
PATH_SEGMENT@[3648; 3661)
NAME_REF@[3648; 3661)
IDENT@[3648; 3661) "canttouchthis"
ARG_LIST@[3661; 3663)
L_PAREN@[3661; 3662)
R_PAREN@[3662; 3663)
SEMI@[3663; 3664)
WHITESPACE@[3664; 3669)
EXPR_STMT@[3669; 3681)
CALL_EXPR@[3669; 3680)
PATH_EXPR@[3669; 3678)
PATH@[3669; 3678)
PATH_SEGMENT@[3669; 3678)
NAME_REF@[3669; 3678)
IDENT@[3669; 3678) "angrydome"
ARG_LIST@[3678; 3680)
L_PAREN@[3678; 3679)
R_PAREN@[3679; 3680)
SEMI@[3680; 3681)
WHITESPACE@[3681; 3686)
EXPR_STMT@[3686; 3701)
CALL_EXPR@[3686; 3700)
PATH_EXPR@[3686; 3698)
PATH@[3686; 3698)
PATH_SEGMENT@[3686; 3698)
NAME_REF@[3686; 3698)
IDENT@[3686; 3698) "evil_lincoln"
ARG_LIST@[3698; 3700)
L_PAREN@[3698; 3699)
R_PAREN@[3699; 3700)
SEMI@[3700; 3701)
WHITESPACE@[3701; 3706)
EXPR_STMT@[3706; 3713)
CALL_EXPR@[3706; 3712)
PATH_EXPR@[3706; 3710)
PATH@[3706; 3710)
PATH_SEGMENT@[3706; 3710)
NAME_REF@[3706; 3710)
IDENT@[3706; 3710) "dots"
ARG_LIST@[3710; 3712)
L_PAREN@[3710; 3711)
R_PAREN@[3711; 3712)
SEMI@[3712; 3713)
WHITESPACE@[3713; 3718)
EXPR_STMT@[3718; 3726)
CALL_EXPR@[3718; 3725)
PATH_EXPR@[3718; 3720)
PATH@[3718; 3720)
PATH_SEGMENT@[3718; 3720)
NAME_REF@[3718; 3720)
IDENT@[3718; 3720) "u8"
ARG_LIST@[3720; 3725)
L_PAREN@[3720; 3721)
LITERAL@[3721; 3724)
INT_NUMBER@[3721; 3724) "8u8"
R_PAREN@[3724; 3725)
SEMI@[3725; 3726)
WHITESPACE@[3726; 3731)
EXPR_STMT@[3731; 3739)
CALL_EXPR@[3731; 3738)
PATH_EXPR@[3731; 3736)
PATH@[3731; 3736)
PATH_SEGMENT@[3731; 3736)
NAME_REF@[3731; 3736)
IDENT@[3731; 3736) "fishy"
ARG_LIST@[3736; 3738)
L_PAREN@[3736; 3737)
R_PAREN@[3737; 3738)
SEMI@[3738; 3739)
WHITESPACE@[3739; 3744)
EXPR_STMT@[3744; 3752)
CALL_EXPR@[3744; 3751)
PATH_EXPR@[3744; 3749)
PATH@[3744; 3749)
PATH_SEGMENT@[3744; 3749)
NAME_REF@[3744; 3749)
IDENT@[3744; 3749) "union"
ARG_LIST@[3749; 3751)
L_PAREN@[3749; 3750)
R_PAREN@[3750; 3751)
SEMI@[3751; 3752)
WHITESPACE@[3752; 3757)
EXPR_STMT@[3757; 3778)
CALL_EXPR@[3757; 3777)
PATH_EXPR@[3757; 3775)
PATH@[3757; 3775)
PATH_SEGMENT@[3757; 3775)
NAME_REF@[3757; 3775)
IDENT@[3757; 3775) "special_characters"
ARG_LIST@[3775; 3777)
L_PAREN@[3775; 3776)
R_PAREN@[3776; 3777)
SEMI@[3777; 3778)
WHITESPACE@[3778; 3783)
EXPR_STMT@[3783; 3796)
CALL_EXPR@[3783; 3795)
PATH_EXPR@[3783; 3793)
PATH@[3783; 3793)
PATH_SEGMENT@[3783; 3793)
NAME_REF@[3783; 3793)
IDENT@[3783; 3793) "punch_card"
ARG_LIST@[3793; 3795)
L_PAREN@[3793; 3794)
R_PAREN@[3794; 3795)
SEMI@[3795; 3796)
WHITESPACE@[3796; 3801)
EXPR_STMT@[3801; 3810)
CALL_EXPR@[3801; 3809)
PATH_EXPR@[3801; 3807)
PATH@[3801; 3807)
PATH_SEGMENT@[3801; 3807)
NAME_REF@[3801; 3807)
IDENT@[3801; 3807) "ktulhu"
ARG_LIST@[3807; 3809)
L_PAREN@[3807; 3808)
R_PAREN@[3808; 3809)
SEMI@[3809; 3810)
WHITESPACE@[3810; 3811)
R_CURLY@[3811; 3812)
WHITESPACE@[3812; 3813)