SOURCE_FILE@0..49 FN_DEF@0..48 FN_KW@0..2 "fn" WHITESPACE@2..3 " " NAME@3..7 IDENT@3..7 "test" TYPE_PARAM_LIST@7..10 L_ANGLE@7..8 "<" TYPE_PARAM@8..9 NAME@8..9 IDENT@8..9 "F" R_ANGLE@9..10 ">" PARAM_LIST@10..12 L_PAREN@10..11 "(" R_PAREN@11..12 ")" WHITESPACE@12..13 "\n" WHERE_CLAUSE@13..44 WHERE_KW@13..18 "where" WHITESPACE@18..22 "\n " WHERE_PRED@22..44 FOR_TYPE@22..31 FOR_KW@22..25 "for" TYPE_PARAM_LIST@25..29 L_ANGLE@25..26 "<" LIFETIME_PARAM@26..28 LIFETIME@26..28 "\'a" R_ANGLE@28..29 ">" WHITESPACE@29..30 " " PATH_TYPE@30..31 PATH@30..31 PATH_SEGMENT@30..31 NAME_REF@30..31 IDENT@30..31 "F" COLON@31..32 ":" WHITESPACE@32..33 " " TYPE_BOUND_LIST@33..44 TYPE_BOUND@33..44 PATH_TYPE@33..44 PATH@33..44 PATH_SEGMENT@33..44 NAME_REF@33..35 IDENT@33..35 "Fn" PARAM_LIST@35..44 L_PAREN@35..36 "(" PARAM@36..43 REFERENCE_TYPE@36..43 AMP@36..37 "&" LIFETIME@37..39 "\'a" WHITESPACE@39..40 " " PATH_TYPE@40..43 PATH@40..43 PATH_SEGMENT@40..43 NAME_REF@40..43 IDENT@40..43 "str" R_PAREN@43..44 ")" WHITESPACE@44..45 "\n" BLOCK_EXPR@45..48 L_CURLY@45..46 "{" WHITESPACE@46..47 " " R_CURLY@47..48 "}" WHITESPACE@48..49 "\n"