ROOT@[0; 575) FN_DEF@[0; 574) FN_KW@[0; 2) WHITESPACE@[2; 3) NAME@[3; 7) IDENT@[3; 7) "main" PARAM_LIST@[7; 9) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) BLOCK@[10; 574) L_CURLY@[10; 11) WHITESPACE@[11; 16) ENUM_DEF@[16; 152) ENUM_KW@[16; 20) WHITESPACE@[20; 21) NAME@[21; 25) IDENT@[21; 25) "Test" WHITESPACE@[25; 26) ENUM_VARIANT_LIST@[26; 152) L_CURLY@[26; 27) WHITESPACE@[27; 36) ENUM_VARIANT@[36; 40) NAME@[36; 40) IDENT@[36; 40) "Var1" COMMA@[40; 41) WHITESPACE@[41; 50) ENUM_VARIANT@[50; 62) NAME@[50; 54) IDENT@[50; 54) "Var2" POS_FIELD_LIST@[54; 62) L_PAREN@[54; 55) POS_FIELD@[55; 61) PATH_TYPE@[55; 61) PATH@[55; 61) PATH_SEGMENT@[55; 61) NAME_REF@[55; 61) IDENT@[55; 61) "String" R_PAREN@[61; 62) COMMA@[62; 63) WHITESPACE@[63; 72) ENUM_VARIANT@[72; 145) NAME@[72; 76) IDENT@[72; 76) "Var3" WHITESPACE@[76; 77) NAMED_FIELD_DEF_LIST@[77; 145) L_CURLY@[77; 78) WHITESPACE@[78; 91) NAMED_FIELD_DEF@[91; 95) NAME@[91; 94) IDENT@[91; 94) "abc" COLON@[94; 95) err: `expected type` err: `expected COMMA` WHITESPACE@[95; 96) err: `expected field` ERROR@[96; 98) L_CURLY@[96; 97) R_CURLY@[97; 98) err: `expected field declaration` ERROR@[98; 99) COMMA@[98; 99) WHITESPACE@[99; 100) COMMENT@[100; 135) WHITESPACE@[135; 144) R_CURLY@[144; 145) COMMA@[145; 146) WHITESPACE@[146; 151) R_CURLY@[151; 152) WHITESPACE@[152; 158) COMMENT@[158; 171) WHITESPACE@[171; 176) LET_STMT@[176; 186) LET_KW@[176; 179) WHITESPACE@[179; 180) BIND_PAT@[180; 181) NAME@[180; 181) IDENT@[180; 181) "a" WHITESPACE@[181; 182) EQ@[182; 183) WHITESPACE@[183; 184) LITERAL@[184; 185) INT_NUMBER@[184; 185) "1" SEMI@[185; 186) WHITESPACE@[186; 191) ENUM_DEF@[191; 223) ENUM_KW@[191; 195) WHITESPACE@[195; 196) NAME@[196; 201) IDENT@[196; 201) "Test2" WHITESPACE@[201; 202) ENUM_VARIANT_LIST@[202; 223) L_CURLY@[202; 203) WHITESPACE@[203; 212) ENUM_VARIANT@[212; 216) NAME@[212; 216) IDENT@[212; 216) "Fine" COMMA@[216; 217) WHITESPACE@[217; 222) R_CURLY@[222; 223) WHITESPACE@[223; 229) ENUM_DEF@[229; 300) ENUM_KW@[229; 233) WHITESPACE@[233; 234) NAME@[234; 239) IDENT@[234; 239) "Test3" WHITESPACE@[239; 240) ENUM_VARIANT_LIST@[240; 300) L_CURLY@[240; 241) WHITESPACE@[241; 250) ENUM_VARIANT@[250; 293) NAME@[250; 259) IDENT@[250; 259) "StillFine" WHITESPACE@[259; 260) NAMED_FIELD_DEF_LIST@[260; 293) L_CURLY@[260; 261) WHITESPACE@[261; 274) NAMED_FIELD_DEF@[274; 282) NAME@[274; 277) IDENT@[274; 277) "def" COLON@[277; 278) WHITESPACE@[278; 279) PATH_TYPE@[279; 282) PATH@[279; 282) PATH_SEGMENT@[279; 282) NAME_REF@[279; 282) IDENT@[279; 282) "i32" COMMA@[282; 283) WHITESPACE@[283; 292) R_CURLY@[292; 293) COMMA@[293; 294) WHITESPACE@[294; 299) R_CURLY@[299; 300) WHITESPACE@[300; 306) EXPR_STMT@[306; 459) BLOCK_EXPR@[306; 459) BLOCK@[306; 459) L_CURLY@[306; 307) WHITESPACE@[307; 316) ENUM_DEF@[316; 453) COMMENT@[316; 329) WHITESPACE@[329; 338) ENUM_KW@[338; 342) WHITESPACE@[342; 343) NAME@[343; 348) IDENT@[343; 348) "Test4" WHITESPACE@[348; 349) ENUM_VARIANT_LIST@[349; 453) L_CURLY@[349; 350) WHITESPACE@[350; 363) ENUM_VARIANT@[363; 372) NAME@[363; 367) IDENT@[363; 367) "Nope" POS_FIELD_LIST@[367; 372) L_PAREN@[367; 368) POS_FIELD@[368; 371) PATH_TYPE@[368; 371) PATH@[368; 371) PATH_SEGMENT@[368; 371) NAME_REF@[368; 371) IDENT@[368; 371) "i32" err: `expected COMMA` WHITESPACE@[371; 372) err: `expected a type` err: `expected R_PAREN` err: `expected COMMA` err: `expected enum variant` ERROR@[372; 372) ERROR@[372; 374) L_CURLY@[372; 373) R_CURLY@[373; 374) err: `expected enum variant` ERROR@[374; 375) R_PAREN@[374; 375) WHITESPACE@[375; 376) COMMENT@[376; 396) WHITESPACE@[396; 422) COMMENT@[422; 443) WHITESPACE@[443; 452) R_CURLY@[452; 453) WHITESPACE@[453; 458) R_CURLY@[458; 459) WHITESPACE@[459; 464) COMMENT@[464; 486) WHITESPACE@[486; 491) LET_STMT@[491; 510) LET_KW@[491; 494) WHITESPACE@[494; 495) BIND_PAT@[495; 505) NAME@[495; 505) IDENT@[495; 505) "bad_syntax" WHITESPACE@[505; 506) EQ@[506; 507) WHITESPACE@[507; 508) err: `expected expression` ERROR@[508; 509) UNDERSCORE@[508; 509) SEMI@[509; 510) WHITESPACE@[510; 511) COMMENT@[511; 572) WHITESPACE@[572; 573) R_CURLY@[573; 574) WHITESPACE@[574; 575)