1SOURCE_FILE@0..146 2 FN@0..145 3 FN_KW@0..2 "fn" 4 WHITESPACE@2..3 " " 5 NAME@3..7 6 IDENT@3..7 "main" 7 PARAM_LIST@7..9 8 L_PAREN@7..8 "(" 9 R_PAREN@8..9 ")" 10 WHITESPACE@9..10 " " 11 BLOCK_EXPR@10..145 12 STMT_LIST@10..145 13 L_CURLY@10..11 "{" 14 WHITESPACE@11..16 "\n " 15 LET_STMT@16..27 16 LET_KW@16..19 "let" 17 WHITESPACE@19..20 " " 18 IDENT_PAT@20..21 19 NAME@20..21 20 IDENT@20..21 "a" 21 WHITESPACE@21..22 " " 22 EQ@22..23 "=" 23 WHITESPACE@23..24 " " 24 TUPLE_EXPR@24..26 25 L_PAREN@24..25 "(" 26 R_PAREN@25..26 ")" 27 SEMICOLON@26..27 ";" 28 WHITESPACE@27..32 "\n " 29 LET_STMT@32..47 30 LET_KW@32..35 "let" 31 WHITESPACE@35..36 " " 32 IDENT_PAT@36..41 33 MUT_KW@36..39 "mut" 34 WHITESPACE@39..40 " " 35 NAME@40..41 36 IDENT@40..41 "b" 37 WHITESPACE@41..42 " " 38 EQ@42..43 "=" 39 WHITESPACE@43..44 " " 40 TUPLE_EXPR@44..46 41 L_PAREN@44..45 "(" 42 R_PAREN@45..46 ")" 43 SEMICOLON@46..47 ";" 44 WHITESPACE@47..52 "\n " 45 LET_STMT@52..67 46 LET_KW@52..55 "let" 47 WHITESPACE@55..56 " " 48 IDENT_PAT@56..61 49 REF_KW@56..59 "ref" 50 WHITESPACE@59..60 " " 51 NAME@60..61 52 IDENT@60..61 "c" 53 WHITESPACE@61..62 " " 54 EQ@62..63 "=" 55 WHITESPACE@63..64 " " 56 TUPLE_EXPR@64..66 57 L_PAREN@64..65 "(" 58 R_PAREN@65..66 ")" 59 SEMICOLON@66..67 ";" 60 WHITESPACE@67..72 "\n " 61 LET_STMT@72..91 62 LET_KW@72..75 "let" 63 WHITESPACE@75..76 " " 64 IDENT_PAT@76..85 65 REF_KW@76..79 "ref" 66 WHITESPACE@79..80 " " 67 MUT_KW@80..83 "mut" 68 WHITESPACE@83..84 " " 69 NAME@84..85 70 IDENT@84..85 "d" 71 WHITESPACE@85..86 " " 72 EQ@86..87 "=" 73 WHITESPACE@87..88 " " 74 TUPLE_EXPR@88..90 75 L_PAREN@88..89 "(" 76 R_PAREN@89..90 ")" 77 SEMICOLON@90..91 ";" 78 WHITESPACE@91..96 "\n " 79 LET_STMT@96..111 80 LET_KW@96..99 "let" 81 WHITESPACE@99..100 " " 82 IDENT_PAT@100..105 83 NAME@100..101 84 IDENT@100..101 "e" 85 WHITESPACE@101..102 " " 86 AT@102..103 "@" 87 WHITESPACE@103..104 " " 88 WILDCARD_PAT@104..105 89 UNDERSCORE@104..105 "_" 90 WHITESPACE@105..106 " " 91 EQ@106..107 "=" 92 WHITESPACE@107..108 " " 93 TUPLE_EXPR@108..110 94 L_PAREN@108..109 "(" 95 R_PAREN@109..110 ")" 96 SEMICOLON@110..111 ";" 97 WHITESPACE@111..116 "\n " 98 LET_STMT@116..143 99 LET_KW@116..119 "let" 100 WHITESPACE@119..120 " " 101 IDENT_PAT@120..137 102 REF_KW@120..123 "ref" 103 WHITESPACE@123..124 " " 104 MUT_KW@124..127 "mut" 105 WHITESPACE@127..128 " " 106 NAME@128..129 107 IDENT@128..129 "f" 108 WHITESPACE@129..130 " " 109 AT@130..131 "@" 110 WHITESPACE@131..132 " " 111 IDENT_PAT@132..137 112 NAME@132..133 113 IDENT@132..133 "g" 114 WHITESPACE@133..134 " " 115 AT@134..135 "@" 116 WHITESPACE@135..136 " " 117 WILDCARD_PAT@136..137 118 UNDERSCORE@136..137 "_" 119 WHITESPACE@137..138 " " 120 EQ@138..139 "=" 121 WHITESPACE@139..140 " " 122 TUPLE_EXPR@140..142 123 L_PAREN@140..141 "(" 124 R_PAREN@141..142 ")" 125 SEMICOLON@142..143 ";" 126 WHITESPACE@143..144 "\n" 127 R_CURLY@144..145 "}" 128 WHITESPACE@145..146 "\n" 129