SOURCE_FILE TRAIT TRAIT_KW "trait" WHITESPACE " " NAME IDENT "T" WHITESPACE " " ASSOC_ITEM_LIST L_CURLY "{" WHITESPACE "\n " FN FN_KW "fn" WHITESPACE " " NAME IDENT "f1" PARAM_LIST L_PAREN "(" PARAM TUPLE_PAT L_PAREN "(" IDENT_PAT NAME IDENT "a" COMMA "," WHITESPACE " " IDENT_PAT NAME IDENT "b" R_PAREN ")" COLON ":" WHITESPACE " " TUPLE_TYPE L_PAREN "(" PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "usize" COMMA "," WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "usize" R_PAREN ")" R_PAREN ")" WHITESPACE " " BLOCK_EXPR STMT_LIST L_CURLY "{" R_CURLY "}" WHITESPACE "\n " FN FN_KW "fn" WHITESPACE " " NAME IDENT "f2" PARAM_LIST L_PAREN "(" PARAM RECORD_PAT PATH PATH_SEGMENT NAME_REF IDENT "S" WHITESPACE " " RECORD_PAT_FIELD_LIST L_CURLY "{" WHITESPACE " " RECORD_PAT_FIELD IDENT_PAT NAME IDENT "a" COMMA "," WHITESPACE " " RECORD_PAT_FIELD IDENT_PAT NAME IDENT "b" WHITESPACE " " R_CURLY "}" COLON ":" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "S" R_PAREN ")" WHITESPACE " " BLOCK_EXPR STMT_LIST L_CURLY "{" R_CURLY "}" WHITESPACE "\n " FN FN_KW "fn" WHITESPACE " " NAME IDENT "f3" PARAM_LIST L_PAREN "(" PARAM TUPLE_STRUCT_PAT PATH PATH_SEGMENT NAME_REF IDENT "NewType" L_PAREN "(" IDENT_PAT NAME IDENT "a" R_PAREN ")" COLON ":" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "NewType" R_PAREN ")" WHITESPACE " " BLOCK_EXPR STMT_LIST L_CURLY "{" R_CURLY "}" WHITESPACE "\n " FN FN_KW "fn" WHITESPACE " " NAME IDENT "f4" PARAM_LIST L_PAREN "(" PARAM REF_PAT AMP "&" REF_PAT AMP "&" IDENT_PAT NAME IDENT "a" COLON ":" WHITESPACE " " REF_TYPE AMP "&" REF_TYPE AMP "&" PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "usize" R_PAREN ")" WHITESPACE " " BLOCK_EXPR STMT_LIST L_CURLY "{" R_CURLY "}" WHITESPACE "\n " FN FN_KW "fn" WHITESPACE " " NAME IDENT "bar" PARAM_LIST L_PAREN "(" PARAM WILDCARD_PAT UNDERSCORE "_" COLON ":" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "u64" COMMA "," WHITESPACE " " PARAM IDENT_PAT MUT_KW "mut" WHITESPACE " " NAME IDENT "x" COLON ":" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "i32" R_PAREN ")" SEMICOLON ";" WHITESPACE "\n" R_CURLY "}" WHITESPACE "\n"