SOURCE_FILE IMPL IMPL_KW "impl" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "S" WHITESPACE " " ASSOC_ITEM_LIST L_CURLY "{" WHITESPACE "\n " FN FN_KW "fn" WHITESPACE " " NAME IDENT "a" PARAM_LIST L_PAREN "(" SELF_PARAM NAME SELF_KW "self" R_PAREN ")" WHITESPACE " " BLOCK_EXPR STMT_LIST L_CURLY "{" R_CURLY "}" WHITESPACE "\n " FN FN_KW "fn" WHITESPACE " " NAME IDENT "b" PARAM_LIST L_PAREN "(" SELF_PARAM AMP "&" NAME SELF_KW "self" COMMA "," R_PAREN ")" WHITESPACE " " BLOCK_EXPR STMT_LIST L_CURLY "{" R_CURLY "}" WHITESPACE "\n " FN FN_KW "fn" WHITESPACE " " NAME IDENT "c" PARAM_LIST L_PAREN "(" SELF_PARAM AMP "&" LIFETIME LIFETIME_IDENT "'a" WHITESPACE " " NAME SELF_KW "self" COMMA "," R_PAREN ")" WHITESPACE " " BLOCK_EXPR STMT_LIST L_CURLY "{" R_CURLY "}" WHITESPACE "\n " FN FN_KW "fn" WHITESPACE " " NAME IDENT "d" PARAM_LIST L_PAREN "(" SELF_PARAM AMP "&" LIFETIME LIFETIME_IDENT "'a" WHITESPACE " " MUT_KW "mut" WHITESPACE " " NAME SELF_KW "self" COMMA "," WHITESPACE " " PARAM IDENT_PAT NAME IDENT "x" COLON ":" WHITESPACE " " PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "i32" R_PAREN ")" WHITESPACE " " BLOCK_EXPR STMT_LIST L_CURLY "{" R_CURLY "}" WHITESPACE "\n " FN FN_KW "fn" WHITESPACE " " NAME IDENT "e" PARAM_LIST L_PAREN "(" SELF_PARAM MUT_KW "mut" WHITESPACE " " NAME SELF_KW "self" R_PAREN ")" WHITESPACE " " BLOCK_EXPR STMT_LIST L_CURLY "{" R_CURLY "}" WHITESPACE "\n" R_CURLY "}" WHITESPACE "\n"