SOURCE_FILE@[0; 686) FN_DEF@[0; 461) FN_KW@[0; 2) "fn" WHITESPACE@[2; 3) " " NAME@[3; 8) IDENT@[3; 8) "block" PARAM_LIST@[8; 10) L_PAREN@[8; 9) "(" R_PAREN@[9; 10) ")" WHITESPACE@[10; 11) " " BLOCK_EXPR@[11; 461) BLOCK@[11; 461) L_CURLY@[11; 12) "{" WHITESPACE@[12; 17) "\n " ATTR@[17; 57) POUND@[17; 18) "#" EXCL@[18; 19) "!" L_BRACK@[19; 20) "[" PATH@[20; 23) PATH_SEGMENT@[20; 23) NAME_REF@[20; 23) IDENT@[20; 23) "doc" TOKEN_TREE@[23; 56) L_PAREN@[23; 24) "(" STRING@[24; 55) "\"Inner attributes all ..." R_PAREN@[55; 56) ")" R_BRACK@[56; 57) "]" WHITESPACE@[57; 62) "\n " COMMENT@[62; 97) "//! As are ModuleDoc ..." WHITESPACE@[97; 102) "\n " EXPR_STMT@[102; 295) BLOCK_EXPR@[102; 294) BLOCK@[102; 294) L_CURLY@[102; 103) "{" WHITESPACE@[103; 112) "\n " ATTR@[112; 180) POUND@[112; 113) "#" EXCL@[113; 114) "!" L_BRACK@[114; 115) "[" PATH@[115; 118) PATH_SEGMENT@[115; 118) NAME_REF@[115; 118) IDENT@[115; 118) "doc" TOKEN_TREE@[118; 179) L_PAREN@[118; 119) "(" STRING@[119; 178) "\"Inner attributes are ..." R_PAREN@[178; 179) ")" R_BRACK@[179; 180) "]" WHITESPACE@[180; 189) "\n " ATTR@[189; 244) POUND@[189; 190) "#" EXCL@[190; 191) "!" L_BRACK@[191; 192) "[" PATH@[192; 195) PATH_SEGMENT@[192; 195) NAME_REF@[192; 195) IDENT@[192; 195) "doc" TOKEN_TREE@[195; 243) L_PAREN@[195; 196) "(" STRING@[196; 242) "\"Being validated is n ..." R_PAREN@[242; 243) ")" R_BRACK@[243; 244) "]" WHITESPACE@[244; 253) "\n " COMMENT@[253; 288) "//! As are ModuleDoc ..." WHITESPACE@[288; 293) "\n " R_CURLY@[293; 294) "}" SEMI@[294; 295) ";" WHITESPACE@[295; 300) "\n " BLOCK_EXPR@[300; 459) BLOCK@[300; 459) L_CURLY@[300; 301) "{" WHITESPACE@[301; 310) "\n " ATTR@[310; 409) POUND@[310; 311) "#" EXCL@[311; 312) "!" L_BRACK@[312; 313) "[" PATH@[313; 316) PATH_SEGMENT@[313; 316) NAME_REF@[313; 316) IDENT@[313; 316) "doc" TOKEN_TREE@[316; 408) L_PAREN@[316; 317) "(" STRING@[317; 407) "\"Inner attributes are ..." R_PAREN@[407; 408) ")" R_BRACK@[408; 409) "]" WHITESPACE@[409; 418) "\n " COMMENT@[418; 453) "//! As are ModuleDoc ..." WHITESPACE@[453; 458) "\n " R_CURLY@[458; 459) "}" WHITESPACE@[459; 460) "\n" R_CURLY@[460; 461) "}" WHITESPACE@[461; 463) "\n\n" COMMENT@[463; 523) "// https://github.com ..." WHITESPACE@[523; 524) "\n" IMPL_DEF@[524; 685) IMPL_KW@[524; 528) "impl" WHITESPACE@[528; 529) " " PATH_TYPE@[529; 537) PATH@[529; 537) PATH_SEGMENT@[529; 537) NAME_REF@[529; 537) IDENT@[529; 537) "Whatever" WHITESPACE@[537; 538) " " ITEM_LIST@[538; 685) L_CURLY@[538; 539) "{" WHITESPACE@[539; 544) "\n " FN_DEF@[544; 683) FN_KW@[544; 546) "fn" WHITESPACE@[546; 547) " " NAME@[547; 558) IDENT@[547; 558) "salsa_event" PARAM_LIST@[558; 601) L_PAREN@[558; 559) "(" SELF_PARAM@[559; 564) AMP@[559; 560) "&" SELF_KW@[560; 564) "self" COMMA@[564; 565) "," WHITESPACE@[565; 566) " " PARAM@[566; 600) BIND_PAT@[566; 574) NAME@[566; 574) IDENT@[566; 574) "event_fn" COLON@[574; 575) ":" WHITESPACE@[575; 576) " " IMPL_TRAIT_TYPE@[576; 600) IMPL_KW@[576; 580) "impl" WHITESPACE@[580; 581) " " TYPE_BOUND_LIST@[581; 600) TYPE_BOUND@[581; 600) PATH_TYPE@[581; 600) PATH@[581; 600) PATH_SEGMENT@[581; 600) NAME_REF@[581; 583) IDENT@[581; 583) "Fn" PARAM_LIST@[583; 585) L_PAREN@[583; 584) "(" R_PAREN@[584; 585) ")" WHITESPACE@[585; 586) " " RET_TYPE@[586; 600) THIN_ARROW@[586; 588) "->" WHITESPACE@[588; 589) " " PATH_TYPE@[589; 600) PATH@[589; 600) PATH_SEGMENT@[589; 600) NAME_REF@[589; 594) IDENT@[589; 594) "Event" TYPE_ARG_LIST@[594; 600) L_ANGLE@[594; 595) "<" TYPE_ARG@[595; 599) PATH_TYPE@[595; 599) PATH@[595; 599) PATH_SEGMENT@[595; 599) NAME_REF@[595; 599) IDENT@[595; 599) "Self" R_ANGLE@[599; 600) ">" R_PAREN@[600; 601) ")" WHITESPACE@[601; 602) " " BLOCK_EXPR@[602; 683) BLOCK@[602; 683) L_CURLY@[602; 603) "{" WHITESPACE@[603; 612) "\n " ATTR@[612; 639) POUND@[612; 613) "#" EXCL@[613; 614) "!" L_BRACK@[614; 615) "[" PATH@[615; 620) PATH_SEGMENT@[615; 620) NAME_REF@[615; 620) IDENT@[615; 620) "allow" TOKEN_TREE@[620; 638) L_PAREN@[620; 621) "(" IDENT@[621; 637) "unused_variables" R_PAREN@[637; 638) ")" R_BRACK@[638; 639) "]" WHITESPACE@[639; 640) " " COMMENT@[640; 677) "// this is `inner_at ..." WHITESPACE@[677; 682) "\n " R_CURLY@[682; 683) "}" WHITESPACE@[683; 684) "\n" R_CURLY@[684; 685) "}" WHITESPACE@[685; 686) "\n"