SOURCE_FILE TYPE_ALIAS TYPE_KW "type" WHITESPACE " " NAME IDENT "ForRef" WHITESPACE " " EQ "=" WHITESPACE " " FOR_TYPE FOR_KW "for" GENERIC_PARAM_LIST L_ANGLE "<" LIFETIME_PARAM LIFETIME LIFETIME_IDENT "'a" R_ANGLE ">" WHITESPACE " " REF_TYPE AMP "&" LIFETIME LIFETIME_IDENT "'a" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "u32" SEMICOLON ";" WHITESPACE "\n" TYPE_ALIAS TYPE_KW "type" WHITESPACE " " NAME IDENT "ForTup" WHITESPACE " " EQ "=" WHITESPACE " " FOR_TYPE FOR_KW "for" GENERIC_PARAM_LIST L_ANGLE "<" LIFETIME_PARAM LIFETIME LIFETIME_IDENT "'a" R_ANGLE ">" WHITESPACE " " TUPLE_TYPE L_PAREN "(" REF_TYPE AMP "&" LIFETIME LIFETIME_IDENT "'a" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "u32" COMMA "," R_PAREN ")" SEMICOLON ";" WHITESPACE "\n" TYPE_ALIAS TYPE_KW "type" WHITESPACE " " NAME IDENT "ForSlice" WHITESPACE " " EQ "=" WHITESPACE " " FOR_TYPE FOR_KW "for" GENERIC_PARAM_LIST L_ANGLE "<" LIFETIME_PARAM LIFETIME LIFETIME_IDENT "'a" R_ANGLE ">" WHITESPACE " " SLICE_TYPE L_BRACK "[" PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "u32" R_BRACK "]" SEMICOLON ";" WHITESPACE "\n" TYPE_ALIAS TYPE_KW "type" WHITESPACE " " NAME IDENT "ForForFn" WHITESPACE " " EQ "=" WHITESPACE " " FOR_TYPE FOR_KW "for" GENERIC_PARAM_LIST L_ANGLE "<" LIFETIME_PARAM LIFETIME LIFETIME_IDENT "'a" R_ANGLE ">" WHITESPACE " " FOR_TYPE FOR_KW "for" GENERIC_PARAM_LIST L_ANGLE "<" LIFETIME_PARAM LIFETIME LIFETIME_IDENT "'b" R_ANGLE ">" WHITESPACE " " FN_PTR_TYPE FN_KW "fn" PARAM_LIST L_PAREN "(" PARAM REF_TYPE AMP "&" LIFETIME LIFETIME_IDENT "'a" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "i32" COMMA "," WHITESPACE " " PARAM REF_TYPE AMP "&" LIFETIME LIFETIME_IDENT "'b" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "i32" R_PAREN ")" SEMICOLON ";" WHITESPACE "\n" FN FN_KW "fn" WHITESPACE " " NAME IDENT "for_for_for" GENERIC_PARAM_LIST L_ANGLE "<" TYPE_PARAM NAME IDENT "T" R_ANGLE ">" PARAM_LIST L_PAREN "(" R_PAREN ")" WHITESPACE "\n" WHERE_CLAUSE WHERE_KW "where" WHITESPACE "\n " WHERE_PRED FOR_KW "for" GENERIC_PARAM_LIST L_ANGLE "<" LIFETIME_PARAM LIFETIME LIFETIME_IDENT "'a" R_ANGLE ">" WHITESPACE " " FOR_TYPE FOR_KW "for" GENERIC_PARAM_LIST L_ANGLE "<" LIFETIME_PARAM LIFETIME LIFETIME_IDENT "'b" R_ANGLE ">" WHITESPACE " " FOR_TYPE FOR_KW "for" GENERIC_PARAM_LIST L_ANGLE "<" LIFETIME_PARAM LIFETIME LIFETIME_IDENT "'c" R_ANGLE ">" WHITESPACE " " FN_PTR_TYPE FN_KW "fn" PARAM_LIST L_PAREN "(" PARAM REF_TYPE AMP "&" LIFETIME LIFETIME_IDENT "'a" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "T" COMMA "," WHITESPACE " " PARAM REF_TYPE AMP "&" LIFETIME LIFETIME_IDENT "'b" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "T" COMMA "," WHITESPACE " " PARAM REF_TYPE AMP "&" LIFETIME LIFETIME_IDENT "'c" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "T" R_PAREN ")" COLON ":" WHITESPACE " " TYPE_BOUND_LIST TYPE_BOUND PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "Copy" COMMA "," WHITESPACE "\n" BLOCK_EXPR STMT_LIST L_CURLY "{" WHITESPACE "\n" R_CURLY "}" WHITESPACE "\n" error 21: expected a function pointer or path error 52: expected a function pointer or path error 88: expected a function pointer or path error 119: expected a function pointer or path error 195: expected a function pointer or path