--- /dev/null
+SOURCE_FILE@[0; 395)
+ COMMENT@[0; 60)
+ WHITESPACE@[60; 62)
+ FN_DEF@[62; 341)
+ FN_KW@[62; 64)
+ WHITESPACE@[64; 65)
+ NAME@[65; 69)
+ IDENT@[65; 69) "main"
+ PARAM_LIST@[69; 71)
+ L_PAREN@[69; 70)
+ R_PAREN@[70; 71)
+ WHITESPACE@[71; 72)
+ BLOCK@[72; 341)
+ L_CURLY@[72; 73)
+ WHITESPACE@[73; 78)
+ EXPR_STMT@[78; 141)
+ MATCH_EXPR@[78; 141)
+ MATCH_KW@[78; 83)
+ WHITESPACE@[83; 84)
+ CALL_EXPR@[84; 92)
+ PATH_EXPR@[84; 88)
+ PATH@[84; 88)
+ PATH_SEGMENT@[84; 88)
+ NAME_REF@[84; 88)
+ IDENT@[84; 88) "Some"
+ ARG_LIST@[88; 92)
+ L_PAREN@[88; 89)
+ PREFIX_EXPR@[89; 91)
+ MINUS@[89; 90)
+ LITERAL@[90; 91)
+ INT_NUMBER@[90; 91) "1"
+ R_PAREN@[91; 92)
+ WHITESPACE@[92; 93)
+ MATCH_ARM_LIST@[93; 141)
+ L_CURLY@[93; 94)
+ WHITESPACE@[94; 103)
+ MATCH_ARM@[103; 117)
+ TUPLE_STRUCT_PAT@[103; 111)
+ PATH@[103; 107)
+ PATH_SEGMENT@[103; 107)
+ NAME_REF@[103; 107)
+ IDENT@[103; 107) "Some"
+ L_PAREN@[107; 108)
+ LITERAL_PAT@[108; 110)
+ MINUS@[108; 109)
+ LITERAL@[109; 110)
+ INT_NUMBER@[109; 110) "1"
+ R_PAREN@[110; 111)
+ WHITESPACE@[111; 112)
+ FAT_ARROW@[112; 114)
+ WHITESPACE@[114; 115)
+ TUPLE_EXPR@[115; 117)
+ L_PAREN@[115; 116)
+ R_PAREN@[116; 117)
+ COMMA@[117; 118)
+ WHITESPACE@[118; 127)
+ MATCH_ARM@[127; 134)
+ PLACEHOLDER_PAT@[127; 128)
+ UNDERSCORE@[127; 128)
+ WHITESPACE@[128; 129)
+ FAT_ARROW@[129; 131)
+ WHITESPACE@[131; 132)
+ TUPLE_EXPR@[132; 134)
+ L_PAREN@[132; 133)
+ R_PAREN@[133; 134)
+ COMMA@[134; 135)
+ WHITESPACE@[135; 140)
+ R_CURLY@[140; 141)
+ WHITESPACE@[141; 147)
+ EXPR_STMT@[147; 222)
+ MATCH_EXPR@[147; 222)
+ MATCH_KW@[147; 152)
+ WHITESPACE@[152; 153)
+ CALL_EXPR@[153; 167)
+ PATH_EXPR@[153; 157)
+ PATH@[153; 157)
+ PATH_SEGMENT@[153; 157)
+ NAME_REF@[153; 157)
+ IDENT@[153; 157) "Some"
+ ARG_LIST@[157; 167)
+ L_PAREN@[157; 158)
+ TUPLE_EXPR@[158; 166)
+ L_PAREN@[158; 159)
+ PREFIX_EXPR@[159; 161)
+ MINUS@[159; 160)
+ LITERAL@[160; 161)
+ INT_NUMBER@[160; 161) "1"
+ COMMA@[161; 162)
+ WHITESPACE@[162; 163)
+ PREFIX_EXPR@[163; 165)
+ MINUS@[163; 164)
+ LITERAL@[164; 165)
+ INT_NUMBER@[164; 165) "1"
+ R_PAREN@[165; 166)
+ R_PAREN@[166; 167)
+ WHITESPACE@[167; 168)
+ MATCH_ARM_LIST@[168; 222)
+ L_CURLY@[168; 169)
+ WHITESPACE@[169; 178)
+ MATCH_ARM@[178; 198)
+ TUPLE_STRUCT_PAT@[178; 192)
+ PATH@[178; 182)
+ PATH_SEGMENT@[178; 182)
+ NAME_REF@[178; 182)
+ IDENT@[178; 182) "Some"
+ L_PAREN@[182; 183)
+ TUPLE_PAT@[183; 191)
+ L_PAREN@[183; 184)
+ LITERAL_PAT@[184; 186)
+ MINUS@[184; 185)
+ LITERAL@[185; 186)
+ INT_NUMBER@[185; 186) "1"
+ COMMA@[186; 187)
+ WHITESPACE@[187; 188)
+ LITERAL_PAT@[188; 190)
+ MINUS@[188; 189)
+ LITERAL@[189; 190)
+ INT_NUMBER@[189; 190) "1"
+ R_PAREN@[190; 191)
+ R_PAREN@[191; 192)
+ WHITESPACE@[192; 193)
+ FAT_ARROW@[193; 195)
+ WHITESPACE@[195; 196)
+ TUPLE_EXPR@[196; 198)
+ L_PAREN@[196; 197)
+ R_PAREN@[197; 198)
+ COMMA@[198; 199)
+ WHITESPACE@[199; 208)
+ MATCH_ARM@[208; 215)
+ PLACEHOLDER_PAT@[208; 209)
+ UNDERSCORE@[208; 209)
+ WHITESPACE@[209; 210)
+ FAT_ARROW@[210; 212)
+ WHITESPACE@[212; 213)
+ TUPLE_EXPR@[213; 215)
+ L_PAREN@[213; 214)
+ R_PAREN@[214; 215)
+ COMMA@[215; 216)
+ WHITESPACE@[216; 221)
+ R_CURLY@[221; 222)
+ WHITESPACE@[222; 228)
+ EXPR_STMT@[228; 299)
+ MATCH_EXPR@[228; 299)
+ MATCH_KW@[228; 233)
+ WHITESPACE@[233; 234)
+ CALL_EXPR@[234; 246)
+ PATH_EXPR@[234; 238)
+ PATH@[234; 238)
+ PATH@[234; 235)
+ PATH_SEGMENT@[234; 235)
+ NAME_REF@[234; 235)
+ IDENT@[234; 235) "A"
+ COLONCOLON@[235; 237)
+ PATH_SEGMENT@[237; 238)
+ NAME_REF@[237; 238)
+ IDENT@[237; 238) "B"
+ ARG_LIST@[238; 246)
+ L_PAREN@[238; 239)
+ PREFIX_EXPR@[239; 241)
+ MINUS@[239; 240)
+ LITERAL@[240; 241)
+ INT_NUMBER@[240; 241) "1"
+ COMMA@[241; 242)
+ WHITESPACE@[242; 243)
+ PREFIX_EXPR@[243; 245)
+ MINUS@[243; 244)
+ LITERAL@[244; 245)
+ INT_NUMBER@[244; 245) "1"
+ R_PAREN@[245; 246)
+ WHITESPACE@[246; 247)
+ MATCH_ARM_LIST@[247; 299)
+ L_CURLY@[247; 248)
+ WHITESPACE@[248; 257)
+ MATCH_ARM@[257; 275)
+ TUPLE_STRUCT_PAT@[257; 269)
+ PATH@[257; 261)
+ PATH@[257; 258)
+ PATH_SEGMENT@[257; 258)
+ NAME_REF@[257; 258)
+ IDENT@[257; 258) "A"
+ COLONCOLON@[258; 260)
+ PATH_SEGMENT@[260; 261)
+ NAME_REF@[260; 261)
+ IDENT@[260; 261) "B"
+ L_PAREN@[261; 262)
+ LITERAL_PAT@[262; 264)
+ MINUS@[262; 263)
+ LITERAL@[263; 264)
+ INT_NUMBER@[263; 264) "1"
+ COMMA@[264; 265)
+ WHITESPACE@[265; 266)
+ LITERAL_PAT@[266; 268)
+ MINUS@[266; 267)
+ LITERAL@[267; 268)
+ INT_NUMBER@[267; 268) "1"
+ R_PAREN@[268; 269)
+ WHITESPACE@[269; 270)
+ FAT_ARROW@[270; 272)
+ WHITESPACE@[272; 273)
+ TUPLE_EXPR@[273; 275)
+ L_PAREN@[273; 274)
+ R_PAREN@[274; 275)
+ COMMA@[275; 276)
+ WHITESPACE@[276; 285)
+ MATCH_ARM@[285; 292)
+ PLACEHOLDER_PAT@[285; 286)
+ UNDERSCORE@[285; 286)
+ WHITESPACE@[286; 287)
+ FAT_ARROW@[287; 289)
+ WHITESPACE@[289; 290)
+ TUPLE_EXPR@[290; 292)
+ L_PAREN@[290; 291)
+ R_PAREN@[291; 292)
+ COMMA@[292; 293)
+ WHITESPACE@[293; 298)
+ R_CURLY@[298; 299)
+ WHITESPACE@[299; 305)
+ IF_EXPR@[305; 339)
+ IF_KW@[305; 307)
+ WHITESPACE@[307; 308)
+ CONDITION@[308; 331)
+ LET_KW@[308; 311)
+ WHITESPACE@[311; 312)
+ TUPLE_STRUCT_PAT@[312; 320)
+ PATH@[312; 316)
+ PATH_SEGMENT@[312; 316)
+ NAME_REF@[312; 316)
+ IDENT@[312; 316) "Some"
+ L_PAREN@[316; 317)
+ LITERAL_PAT@[317; 319)
+ MINUS@[317; 318)
+ LITERAL@[318; 319)
+ INT_NUMBER@[318; 319) "1"
+ R_PAREN@[319; 320)
+ WHITESPACE@[320; 321)
+ EQ@[321; 322)
+ WHITESPACE@[322; 323)
+ CALL_EXPR@[323; 331)
+ PATH_EXPR@[323; 327)
+ PATH@[323; 327)
+ PATH_SEGMENT@[323; 327)
+ NAME_REF@[323; 327)
+ IDENT@[323; 327) "Some"
+ ARG_LIST@[327; 331)
+ L_PAREN@[327; 328)
+ PREFIX_EXPR@[328; 330)
+ MINUS@[328; 329)
+ LITERAL@[329; 330)
+ INT_NUMBER@[329; 330) "1"
+ R_PAREN@[330; 331)
+ WHITESPACE@[331; 332)
+ BLOCK@[332; 339)
+ L_CURLY@[332; 333)
+ WHITESPACE@[333; 338)
+ R_CURLY@[338; 339)
+ WHITESPACE@[339; 340)
+ R_CURLY@[340; 341)
+ WHITESPACE@[341; 343)
+ ENUM_DEF@[343; 367)
+ ENUM_KW@[343; 347)
+ WHITESPACE@[347; 348)
+ NAME@[348; 349)
+ IDENT@[348; 349) "A"
+ WHITESPACE@[349; 350)
+ ENUM_VARIANT_LIST@[350; 367)
+ L_CURLY@[350; 351)
+ WHITESPACE@[351; 356)
+ ENUM_VARIANT@[356; 365)
+ NAME@[356; 357)
+ IDENT@[356; 357) "B"
+ POS_FIELD_DEF_LIST@[357; 365)
+ L_PAREN@[357; 358)
+ POS_FIELD_DEF@[358; 360)
+ PATH_TYPE@[358; 360)
+ PATH@[358; 360)
+ PATH_SEGMENT@[358; 360)
+ NAME_REF@[358; 360)
+ IDENT@[358; 360) "i8"
+ COMMA@[360; 361)
+ WHITESPACE@[361; 362)
+ POS_FIELD_DEF@[362; 364)
+ PATH_TYPE@[362; 364)
+ PATH@[362; 364)
+ PATH_SEGMENT@[362; 364)
+ NAME_REF@[362; 364)
+ IDENT@[362; 364) "i8"
+ R_PAREN@[364; 365)
+ WHITESPACE@[365; 366)
+ R_CURLY@[366; 367)
+ WHITESPACE@[367; 369)
+ FN_DEF@[369; 394)
+ FN_KW@[369; 371)
+ WHITESPACE@[371; 372)
+ NAME@[372; 375)
+ IDENT@[372; 375) "foo"
+ PARAM_LIST@[375; 391)
+ L_PAREN@[375; 376)
+ PARAM@[376; 390)
+ RANGE_PAT@[376; 386)
+ LITERAL_PAT@[376; 380)
+ MINUS@[376; 377)
+ LITERAL@[377; 380)
+ INT_NUMBER@[377; 380) "128"
+ DOTDOTEQ@[380; 383)
+ LITERAL_PAT@[383; 386)
+ LITERAL@[383; 386)
+ INT_NUMBER@[383; 386) "127"
+ COLON@[386; 387)
+ WHITESPACE@[387; 388)
+ PATH_TYPE@[388; 390)
+ PATH@[388; 390)
+ PATH_SEGMENT@[388; 390)
+ NAME_REF@[388; 390)
+ IDENT@[388; 390) "i8"
+ R_PAREN@[390; 391)
+ WHITESPACE@[391; 392)
+ BLOCK@[392; 394)
+ L_CURLY@[392; 393)
+ R_CURLY@[393; 394)
+ WHITESPACE@[394; 395)