ROOT@[0; 49) FN_DEF@[0; 48) FN_KW@[0; 2) 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) WHERE_CLAUSE@[13; 44) WHERE_KW@[13; 18) WHITESPACE@[18; 22) WHERE_PRED@[22; 44) FOR_KW@[22; 25) 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) 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) BLOCK@[45; 48) L_CURLY@[45; 46) WHITESPACE@[46; 47) R_CURLY@[47; 48) WHITESPACE@[48; 49)