SOURCE_FILE@0..328 FN@0..17 ASYNC_KW@0..5 "async" WHITESPACE@5..6 " " FN_KW@6..8 "fn" WHITESPACE@8..9 " " NAME@9..12 IDENT@9..12 "foo" PARAM_LIST@12..14 L_PAREN@12..13 "(" R_PAREN@13..14 ")" WHITESPACE@14..15 " " BLOCK_EXPR@15..17 L_CURLY@15..16 "{" R_CURLY@16..17 "}" WHITESPACE@17..18 "\n" FN@18..36 ABI@18..24 EXTERN_KW@18..24 "extern" WHITESPACE@24..25 " " FN_KW@25..27 "fn" WHITESPACE@27..28 " " NAME@28..31 IDENT@28..31 "foo" PARAM_LIST@31..33 L_PAREN@31..32 "(" R_PAREN@32..33 ")" WHITESPACE@33..34 " " BLOCK_EXPR@34..36 L_CURLY@34..35 "{" R_CURLY@35..36 "}" WHITESPACE@36..37 "\n" FN@37..54 CONST_KW@37..42 "const" WHITESPACE@42..43 " " FN_KW@43..45 "fn" WHITESPACE@45..46 " " NAME@46..49 IDENT@46..49 "foo" PARAM_LIST@49..51 L_PAREN@49..50 "(" R_PAREN@50..51 ")" WHITESPACE@51..52 " " BLOCK_EXPR@52..54 L_CURLY@52..53 "{" R_CURLY@53..54 "}" WHITESPACE@54..55 "\n" FN@55..79 CONST_KW@55..60 "const" WHITESPACE@60..61 " " UNSAFE_KW@61..67 "unsafe" WHITESPACE@67..68 " " FN_KW@68..70 "fn" WHITESPACE@70..71 " " NAME@71..74 IDENT@71..74 "foo" PARAM_LIST@74..76 L_PAREN@74..75 "(" R_PAREN@75..76 ")" WHITESPACE@76..77 " " BLOCK_EXPR@77..79 L_CURLY@77..78 "{" R_CURLY@78..79 "}" WHITESPACE@79..80 "\n" FN@80..109 UNSAFE_KW@80..86 "unsafe" WHITESPACE@86..87 " " ABI@87..97 EXTERN_KW@87..93 "extern" WHITESPACE@93..94 " " STRING@94..97 "\"C\"" WHITESPACE@97..98 " " FN_KW@98..100 "fn" WHITESPACE@100..101 " " NAME@101..104 IDENT@101..104 "foo" PARAM_LIST@104..106 L_PAREN@104..105 "(" R_PAREN@105..106 ")" WHITESPACE@106..107 " " BLOCK_EXPR@107..109 L_CURLY@107..108 "{" R_CURLY@108..109 "}" WHITESPACE@109..110 "\n" FN@110..128 UNSAFE_KW@110..116 "unsafe" WHITESPACE@116..117 " " FN_KW@117..119 "fn" WHITESPACE@119..120 " " NAME@120..123 IDENT@120..123 "foo" PARAM_LIST@123..125 L_PAREN@123..124 "(" R_PAREN@124..125 ")" WHITESPACE@125..126 " " BLOCK_EXPR@126..128 L_CURLY@126..127 "{" R_CURLY@127..128 "}" WHITESPACE@128..129 "\n" FN@129..153 ASYNC_KW@129..134 "async" WHITESPACE@134..135 " " UNSAFE_KW@135..141 "unsafe" WHITESPACE@141..142 " " FN_KW@142..144 "fn" WHITESPACE@144..145 " " NAME@145..148 IDENT@145..148 "foo" PARAM_LIST@148..150 L_PAREN@148..149 "(" R_PAREN@149..150 ")" WHITESPACE@150..151 " " BLOCK_EXPR@151..153 L_CURLY@151..152 "{" R_CURLY@152..153 "}" WHITESPACE@153..154 "\n" FN@154..178 CONST_KW@154..159 "const" WHITESPACE@159..160 " " UNSAFE_KW@160..166 "unsafe" WHITESPACE@166..167 " " FN_KW@167..169 "fn" WHITESPACE@169..170 " " NAME@170..173 IDENT@170..173 "bar" PARAM_LIST@173..175 L_PAREN@173..174 "(" R_PAREN@174..175 ")" WHITESPACE@175..176 " " BLOCK_EXPR@176..178 L_CURLY@176..177 "{" R_CURLY@177..178 "}" WHITESPACE@178..180 "\n\n" TRAIT@180..197 UNSAFE_KW@180..186 "unsafe" WHITESPACE@186..187 " " TRAIT_KW@187..192 "trait" WHITESPACE@192..193 " " NAME@193..194 IDENT@193..194 "T" WHITESPACE@194..195 " " ASSOC_ITEM_LIST@195..197 L_CURLY@195..196 "{" R_CURLY@196..197 "}" WHITESPACE@197..198 "\n" TRAIT@198..213 AUTO_KW@198..202 "auto" WHITESPACE@202..203 " " TRAIT_KW@203..208 "trait" WHITESPACE@208..209 " " NAME@209..210 IDENT@209..210 "T" WHITESPACE@210..211 " " ASSOC_ITEM_LIST@211..213 L_CURLY@211..212 "{" R_CURLY@212..213 "}" WHITESPACE@213..214 "\n" TRAIT@214..236 UNSAFE_KW@214..220 "unsafe" WHITESPACE@220..221 " " AUTO_KW@221..225 "auto" WHITESPACE@225..226 " " TRAIT_KW@226..231 "trait" WHITESPACE@231..232 " " NAME@232..233 IDENT@232..233 "T" WHITESPACE@233..234 " " ASSOC_ITEM_LIST@234..236 L_CURLY@234..235 "{" R_CURLY@235..236 "}" WHITESPACE@236..238 "\n\n" IMPL@238..256 UNSAFE_KW@238..244 "unsafe" WHITESPACE@244..245 " " IMPL_KW@245..249 "impl" WHITESPACE@249..250 " " PATH_TYPE@250..253 PATH@250..253 PATH_SEGMENT@250..253 NAME_REF@250..253 IDENT@250..253 "Foo" WHITESPACE@253..254 " " ASSOC_ITEM_LIST@254..256 L_CURLY@254..255 "{" R_CURLY@255..256 "}" WHITESPACE@256..257 "\n" IMPL@257..276 DEFAULT_KW@257..264 "default" WHITESPACE@264..265 " " IMPL_KW@265..269 "impl" WHITESPACE@269..270 " " PATH_TYPE@270..273 PATH@270..273 PATH_SEGMENT@270..273 NAME_REF@270..273 IDENT@270..273 "Foo" WHITESPACE@273..274 " " ASSOC_ITEM_LIST@274..276 L_CURLY@274..275 "{" R_CURLY@275..276 "}" WHITESPACE@276..277 "\n" IMPL@277..303 UNSAFE_KW@277..283 "unsafe" WHITESPACE@283..284 " " DEFAULT_KW@284..291 "default" WHITESPACE@291..292 " " IMPL_KW@292..296 "impl" WHITESPACE@296..297 " " PATH_TYPE@297..300 PATH@297..300 PATH_SEGMENT@297..300 NAME_REF@297..300 IDENT@297..300 "Foo" WHITESPACE@300..301 " " ASSOC_ITEM_LIST@301..303 L_CURLY@301..302 "{" R_CURLY@302..303 "}" WHITESPACE@303..305 "\n\n" EXTERN_BLOCK@305..327 UNSAFE_KW@305..311 "unsafe" WHITESPACE@311..312 " " ABI@312..324 EXTERN_KW@312..318 "extern" WHITESPACE@318..319 " " STRING@319..324 "\"C++\"" WHITESPACE@324..325 " " EXTERN_ITEM_LIST@325..327 L_CURLY@325..326 "{" R_CURLY@326..327 "}" WHITESPACE@327..328 "\n"