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@[45; 48) L_CURLY@[45; 46) "{" WHITESPACE@[46; 47) " " R_CURLY@[47; 48) "}" WHITESPACE@[48; 49) "\n"