SOURCE_FILE@0..118 MODULE@0..6 MOD_KW@0..3 "mod" WHITESPACE@3..4 " " NAME@4..5 IDENT@4..5 "a" SEMICOLON@5..6 ";" WHITESPACE@6..8 "\n\n" MODULE@8..17 MOD_KW@8..11 "mod" WHITESPACE@11..12 " " NAME@12..13 IDENT@12..13 "b" WHITESPACE@13..14 " " ITEM_LIST@14..17 L_CURLY@14..15 "{" WHITESPACE@15..16 "\n" R_CURLY@16..17 "}" WHITESPACE@17..19 "\n\n" MODULE@19..65 MOD_KW@19..22 "mod" WHITESPACE@22..23 " " NAME@23..24 IDENT@23..24 "c" WHITESPACE@24..25 " " ITEM_LIST@25..65 L_CURLY@25..26 "{" WHITESPACE@26..31 "\n " FN@31..47 FN_KW@31..33 "fn" WHITESPACE@33..34 " " NAME@34..37 IDENT@34..37 "foo" PARAM_LIST@37..39 L_PAREN@37..38 "(" R_PAREN@38..39 ")" WHITESPACE@39..40 " " BLOCK_EXPR@40..47 L_CURLY@40..41 "{" WHITESPACE@41..46 "\n " R_CURLY@46..47 "}" WHITESPACE@47..52 "\n " STRUCT@52..63 STRUCT_KW@52..58 "struct" WHITESPACE@58..59 " " NAME@59..60 IDENT@59..60 "S" WHITESPACE@60..61 " " RECORD_FIELD_LIST@61..63 L_CURLY@61..62 "{" R_CURLY@62..63 "}" WHITESPACE@63..64 "\n" R_CURLY@64..65 "}" WHITESPACE@65..67 "\n\n" MODULE@67..118 MOD_KW@67..70 "mod" WHITESPACE@70..71 " " NAME@71..72 IDENT@71..72 "d" WHITESPACE@72..73 " " ITEM_LIST@73..118 L_CURLY@73..74 "{" WHITESPACE@74..79 "\n " ATTR@79..87 POUND@79..80 "#" BANG@80..81 "!" L_BRACK@81..82 "[" META@82..86 PATH@82..86 PATH_SEGMENT@82..86 NAME_REF@82..86 IDENT@82..86 "attr" R_BRACK@86..87 "]" WHITESPACE@87..92 "\n " MODULE@92..98 MOD_KW@92..95 "mod" WHITESPACE@95..96 " " NAME@96..97 IDENT@96..97 "e" SEMICOLON@97..98 ";" WHITESPACE@98..103 "\n " MODULE@103..116 MOD_KW@103..106 "mod" WHITESPACE@106..107 " " NAME@107..108 IDENT@107..108 "f" WHITESPACE@108..109 " " ITEM_LIST@109..116 L_CURLY@109..110 "{" WHITESPACE@110..115 "\n " R_CURLY@115..116 "}" WHITESPACE@116..117 "\n" R_CURLY@117..118 "}"