SOURCE_FILE FN FN_KW "fn" WHITESPACE " " NAME IDENT "f" PARAM_LIST L_PAREN "(" R_PAREN ")" WHITESPACE " " BLOCK_EXPR STMT_LIST L_CURLY "{" WHITESPACE "\n " EXPR_STMT PATH_EXPR PATH PATH_SEGMENT NAME_REF IDENT "S" GENERIC_ARG_LIST COLON2 "::" L_ANGLE "<" TYPE_ARG PATH_TYPE PATH PATH PATH_SEGMENT NAME_REF IDENT "Item" GENERIC_ARG_LIST COLON2 "::" L_ANGLE "<" TYPE_ARG PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "lol" R_ANGLE ">" COLON2 "::" ERROR L_ANGLE "<" BIN_EXPR PATH_EXPR PATH PATH_SEGMENT NAME_REF IDENT "nope" SHR ">>" ERROR SEMICOLON ";" WHITESPACE "\n" R_CURLY "}" WHITESPACE "\n\n" FN FN_KW "fn" WHITESPACE " " NAME IDENT "g" PARAM_LIST L_PAREN "(" R_PAREN ")" WHITESPACE " " BLOCK_EXPR STMT_LIST L_CURLY "{" WHITESPACE "\n " LET_STMT LET_KW "let" WHITESPACE " " WILDCARD_PAT UNDERSCORE "_" COLON ":" WHITESPACE " " PATH_TYPE PATH PATH PATH_SEGMENT NAME_REF IDENT "Item" GENERIC_ARG_LIST COLON2 "::" L_ANGLE "<" TYPE_ARG PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "lol" R_ANGLE ">" COLON2 "::" ERROR L_ANGLE "<" EXPR_STMT BIN_EXPR PATH_EXPR PATH PATH_SEGMENT NAME_REF IDENT "nope" R_ANGLE ">" WHITESPACE " " ERROR EQ "=" WHITESPACE " " EXPR_STMT TUPLE_EXPR L_PAREN "(" R_PAREN ")" SEMICOLON ";" WHITESPACE "\n" R_CURLY "}" WHITESPACE "\n" error 30: expected identifier error 31: expected COMMA error 31: expected R_ANGLE error 31: expected SEMICOLON error 37: expected expression error 75: expected identifier error 76: expected SEMICOLON error 82: expected expression error 83: expected SEMICOLON