1SOURCE_FILE@0..156
2  FN@0..155
3    FN_KW@0..2 "fn"
4    WHITESPACE@2..3 " "
5    NAME@3..6
6      IDENT@3..6 "foo"
7    PARAM_LIST@6..8
8      L_PAREN@6..7 "("
9      R_PAREN@7..8 ")"
10    WHITESPACE@8..9 " "
11    BLOCK_EXPR@9..155
12      STMT_LIST@9..155
13        L_CURLY@9..10 "{"
14        WHITESPACE@10..15 "\n    "
15        LET_STMT@15..29
16          LET_KW@15..18 "let"
17          WHITESPACE@18..19 " "
18          RECORD_PAT@19..23
19            PATH@19..20
20              PATH_SEGMENT@19..20
21                NAME_REF@19..20
22                  IDENT@19..20 "S"
23            WHITESPACE@20..21 " "
24            RECORD_PAT_FIELD_LIST@21..23
25              L_CURLY@21..22 "{"
26              R_CURLY@22..23 "}"
27          WHITESPACE@23..24 " "
28          EQ@24..25 "="
29          WHITESPACE@25..26 " "
30          TUPLE_EXPR@26..28
31            L_PAREN@26..27 "("
32            R_PAREN@27..28 ")"
33          SEMICOLON@28..29 ";"
34        WHITESPACE@29..34 "\n    "
35        LET_STMT@34..62
36          LET_KW@34..37 "let"
37          WHITESPACE@37..38 " "
38          RECORD_PAT@38..56
39            PATH@38..39
40              PATH_SEGMENT@38..39
41                NAME_REF@38..39
42                  IDENT@38..39 "S"
43            WHITESPACE@39..40 " "
44            RECORD_PAT_FIELD_LIST@40..56
45              L_CURLY@40..41 "{"
46              WHITESPACE@41..42 " "
47              RECORD_PAT_FIELD@42..43
48                IDENT_PAT@42..43
49                  NAME@42..43
50                    IDENT@42..43 "f"
51              COMMA@43..44 ","
52              WHITESPACE@44..45 " "
53              RECORD_PAT_FIELD@45..54
54                IDENT_PAT@45..54
55                  REF_KW@45..48 "ref"
56                  WHITESPACE@48..49 " "
57                  MUT_KW@49..52 "mut"
58                  WHITESPACE@52..53 " "
59                  NAME@53..54
60                    IDENT@53..54 "g"
61              WHITESPACE@54..55 " "
62              R_CURLY@55..56 "}"
63          WHITESPACE@56..57 " "
64          EQ@57..58 "="
65          WHITESPACE@58..59 " "
66          TUPLE_EXPR@59..61
67            L_PAREN@59..60 "("
68            R_PAREN@60..61 ")"
69          SEMICOLON@61..62 ";"
70        WHITESPACE@62..67 "\n    "
71        LET_STMT@67..90
72          LET_KW@67..70 "let"
73          WHITESPACE@70..71 " "
74          RECORD_PAT@71..84
75            PATH@71..72
76              PATH_SEGMENT@71..72
77                NAME_REF@71..72
78                  IDENT@71..72 "S"
79            WHITESPACE@72..73 " "
80            RECORD_PAT_FIELD_LIST@73..84
81              L_CURLY@73..74 "{"
82              WHITESPACE@74..75 " "
83              RECORD_PAT_FIELD@75..79
84                NAME_REF@75..76
85                  IDENT@75..76 "h"
86                COLON@76..77 ":"
87                WHITESPACE@77..78 " "
88                WILDCARD_PAT@78..79
89                  UNDERSCORE@78..79 "_"
90              COMMA@79..80 ","
91              WHITESPACE@80..81 " "
92              REST_PAT@81..83
93                DOT2@81..83 ".."
94              R_CURLY@83..84 "}"
95          WHITESPACE@84..85 " "
96          EQ@85..86 "="
97          WHITESPACE@86..87 " "
98          TUPLE_EXPR@87..89
99            L_PAREN@87..88 "("
100            R_PAREN@88..89 ")"
101          SEMICOLON@89..90 ";"
102        WHITESPACE@90..95 "\n    "
103        LET_STMT@95..116
104          LET_KW@95..98 "let"
105          WHITESPACE@98..99 " "
106          RECORD_PAT@99..110
107            PATH@99..100
108              PATH_SEGMENT@99..100
109                NAME_REF@99..100
110                  IDENT@99..100 "S"
111            WHITESPACE@100..101 " "
112            RECORD_PAT_FIELD_LIST@101..110
113              L_CURLY@101..102 "{"
114              WHITESPACE@102..103 " "
115              RECORD_PAT_FIELD@103..107
116                NAME_REF@103..104
117                  IDENT@103..104 "h"
118                COLON@104..105 ":"
119                WHITESPACE@105..106 " "
120                WILDCARD_PAT@106..107
121                  UNDERSCORE@106..107 "_"
122              COMMA@107..108 ","
123              WHITESPACE@108..109 " "
124              R_CURLY@109..110 "}"
125          WHITESPACE@110..111 " "
126          EQ@111..112 "="
127          WHITESPACE@112..113 " "
128          TUPLE_EXPR@113..115
129            L_PAREN@113..114 "("
130            R_PAREN@114..115 ")"
131          SEMICOLON@115..116 ";"
132        WHITESPACE@116..121 "\n    "
133        LET_STMT@121..153
134          LET_KW@121..124 "let"
135          WHITESPACE@124..125 " "
136          RECORD_PAT@125..147
137            PATH@125..126
138              PATH_SEGMENT@125..126
139                NAME_REF@125..126
140                  IDENT@125..126 "S"
141            WHITESPACE@126..127 " "
142            RECORD_PAT_FIELD_LIST@127..147
143              L_CURLY@127..128 "{"
144              WHITESPACE@128..129 " "
145              REST_PAT@129..145
146                ATTR@129..142
147                  POUND@129..130 "#"
148                  L_BRACK@130..131 "["
149                  META@131..141
150                    PATH@131..134
151                      PATH_SEGMENT@131..134
152                        NAME_REF@131..134
153                          IDENT@131..134 "cfg"
154                    TOKEN_TREE@134..141
155                      L_PAREN@134..135 "("
156                      IDENT@135..138 "any"
157                      TOKEN_TREE@138..140
158                        L_PAREN@138..139 "("
159                        R_PAREN@139..140 ")"
160                      R_PAREN@140..141 ")"
161                  R_BRACK@141..142 "]"
162                WHITESPACE@142..143 " "
163                DOT2@143..145 ".."
164              WHITESPACE@145..146 " "
165              R_CURLY@146..147 "}"
166          WHITESPACE@147..148 " "
167          EQ@148..149 "="
168          WHITESPACE@149..150 " "
169          TUPLE_EXPR@150..152
170            L_PAREN@150..151 "("
171            R_PAREN@151..152 ")"
172          SEMICOLON@152..153 ";"
173        WHITESPACE@153..154 "\n"
174        R_CURLY@154..155 "}"
175  WHITESPACE@155..156 "\n"
176