SOURCE_FILE@[0; 70) FN_DEF@[0; 11) FN_KW@[0; 2) "fn" WHITESPACE@[2; 3) " " NAME@[3; 6) IDENT@[3; 6) "foo" PARAM_LIST@[6; 8) L_PAREN@[6; 7) "(" R_PAREN@[7; 8) ")" WHITESPACE@[8; 9) " " BLOCK@[9; 11) L_CURLY@[9; 10) "{" R_CURLY@[10; 11) "}" WHITESPACE@[11; 12) "\n" MACRO_CALL@[12; 31) PATH@[12; 23) PATH_SEGMENT@[12; 23) NAME_REF@[12; 23) IDENT@[12; 23) "macro_rules" EXCL@[23; 24) "!" WHITESPACE@[24; 25) " " NAME@[25; 28) IDENT@[25; 28) "foo" WHITESPACE@[28; 29) " " TOKEN_TREE@[29; 31) L_CURLY@[29; 30) "{" R_CURLY@[30; 31) "}" WHITESPACE@[31; 32) "\n" MACRO_CALL@[32; 44) PATH@[32; 40) PATH@[32; 35) PATH_SEGMENT@[32; 35) NAME_REF@[32; 35) IDENT@[32; 35) "foo" COLONCOLON@[35; 37) "::" PATH_SEGMENT@[37; 40) NAME_REF@[37; 40) IDENT@[37; 40) "bar" EXCL@[40; 41) "!" TOKEN_TREE@[41; 43) L_PAREN@[41; 42) "(" R_PAREN@[42; 43) ")" SEMI@[43; 44) ";" WHITESPACE@[44; 45) "\n" MACRO_CALL@[45; 59) PATH@[45; 55) PATH@[45; 50) PATH_SEGMENT@[45; 50) SUPER_KW@[45; 50) "super" COLONCOLON@[50; 52) "::" PATH_SEGMENT@[52; 55) NAME_REF@[52; 55) IDENT@[52; 55) "baz" EXCL@[55; 56) "!" WHITESPACE@[56; 57) " " TOKEN_TREE@[57; 59) L_CURLY@[57; 58) "{" R_CURLY@[58; 59) "}" WHITESPACE@[59; 60) "\n" STRUCT_DEF@[60; 69) STRUCT_KW@[60; 66) "struct" WHITESPACE@[66; 67) " " NAME@[67; 68) IDENT@[67; 68) "S" SEMI@[68; 69) ";" WHITESPACE@[69; 70) "\n"