summaryrefslogtreecommitdiffstats
path: root/src/tools/rust-analyzer/crates/syntax/test_data/parser/validation/invalid_let_expr.rast
blob: 9e1e4886401a1c32d9a218ac372d1a2b5ccc6142 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
SOURCE_FILE@0..282
  FN@0..281
    FN_KW@0..2 "fn"
    WHITESPACE@2..3 " "
    NAME@3..6
      IDENT@3..6 "foo"
    PARAM_LIST@6..8
      L_PAREN@6..7 "("
      R_PAREN@7..8 ")"
    WHITESPACE@8..9 " "
    BLOCK_EXPR@9..281
      STMT_LIST@9..281
        L_CURLY@9..10 "{"
        WHITESPACE@10..15 "\n    "
        CONST@15..42
          CONST_KW@15..20 "const"
          WHITESPACE@20..21 " "
          UNDERSCORE@21..22 "_"
          COLON@22..23 ":"
          WHITESPACE@23..24 " "
          TUPLE_TYPE@24..26
            L_PAREN@24..25 "("
            R_PAREN@25..26 ")"
          WHITESPACE@26..27 " "
          EQ@27..28 "="
          WHITESPACE@28..29 " "
          LET_EXPR@29..41
            LET_KW@29..32 "let"
            WHITESPACE@32..33 " "
            WILDCARD_PAT@33..34
              UNDERSCORE@33..34 "_"
            WHITESPACE@34..35 " "
            EQ@35..36 "="
            WHITESPACE@36..37 " "
            PATH_EXPR@37..41
              PATH@37..41
                PATH_SEGMENT@37..41
                  NAME_REF@37..41
                    IDENT@37..41 "None"
          SEMICOLON@41..42 ";"
        WHITESPACE@42..48 "\n\n    "
        LET_STMT@48..83
          LET_KW@48..51 "let"
          WHITESPACE@51..52 " "
          WILDCARD_PAT@52..53
            UNDERSCORE@52..53 "_"
          WHITESPACE@53..54 " "
          EQ@54..55 "="
          WHITESPACE@55..56 " "
          IF_EXPR@56..82
            IF_KW@56..58 "if"
            WHITESPACE@58..59 " "
            LITERAL@59..63
              TRUE_KW@59..63 "true"
            WHITESPACE@63..64 " "
            BLOCK_EXPR@64..82
              STMT_LIST@64..82
                L_CURLY@64..65 "{"
                WHITESPACE@65..66 " "
                PAREN_EXPR@66..80
                  L_PAREN@66..67 "("
                  LET_EXPR@67..79
                    LET_KW@67..70 "let"
                    WHITESPACE@70..71 " "
                    WILDCARD_PAT@71..72
                      UNDERSCORE@71..72 "_"
                    WHITESPACE@72..73 " "
                    EQ@73..74 "="
                    WHITESPACE@74..75 " "
                    PATH_EXPR@75..79
                      PATH@75..79
                        PATH_SEGMENT@75..79
                          NAME_REF@75..79
                            IDENT@75..79 "None"
                  R_PAREN@79..80 ")"
                WHITESPACE@80..81 " "
                R_CURLY@81..82 "}"
          SEMICOLON@82..83 ";"
        WHITESPACE@83..89 "\n\n    "
        IF_EXPR@89..279
          IF_KW@89..91 "if"
          WHITESPACE@91..92 " "
          BIN_EXPR@92..114
            LITERAL@92..96
              TRUE_KW@92..96 "true"
            WHITESPACE@96..97 " "
            AMP2@97..99 "&&"
            WHITESPACE@99..100 " "
            PAREN_EXPR@100..114
              L_PAREN@100..101 "("
              LET_EXPR@101..113
                LET_KW@101..104 "let"
                WHITESPACE@104..105 " "
                WILDCARD_PAT@105..106
                  UNDERSCORE@105..106 "_"
                WHITESPACE@106..107 " "
                EQ@107..108 "="
                WHITESPACE@108..109 " "
                PATH_EXPR@109..113
                  PATH@109..113
                    PATH_SEGMENT@109..113
                      NAME_REF@109..113
                        IDENT@109..113 "None"
              R_PAREN@113..114 ")"
          WHITESPACE@114..115 " "
          BLOCK_EXPR@115..279
            STMT_LIST@115..279
              L_CURLY@115..116 "{"
              WHITESPACE@116..125 "\n        "
              EXPR_STMT@125..140
                PAREN_EXPR@125..139
                  L_PAREN@125..126 "("
                  LET_EXPR@126..138
                    LET_KW@126..129 "let"
                    WHITESPACE@129..130 " "
                    WILDCARD_PAT@130..131
                      UNDERSCORE@130..131 "_"
                    WHITESPACE@131..132 " "
                    EQ@132..133 "="
                    WHITESPACE@133..134 " "
                    PATH_EXPR@134..138
                      PATH@134..138
                        PATH_SEGMENT@134..138
                          NAME_REF@134..138
                            IDENT@134..138 "None"
                  R_PAREN@138..139 ")"
                SEMICOLON@139..140 ";"
              WHITESPACE@140..149 "\n        "
              WHILE_EXPR@149..273
                WHILE_KW@149..154 "while"
                WHITESPACE@154..155 " "
                LET_EXPR@155..167
                  LET_KW@155..158 "let"
                  WHITESPACE@158..159 " "
                  WILDCARD_PAT@159..160
                    UNDERSCORE@159..160 "_"
                  WHITESPACE@160..161 " "
                  EQ@161..162 "="
                  WHITESPACE@162..163 " "
                  PATH_EXPR@163..167
                    PATH@163..167
                      PATH_SEGMENT@163..167
                        NAME_REF@163..167
                          IDENT@163..167 "None"
                WHITESPACE@167..168 " "
                BLOCK_EXPR@168..273
                  STMT_LIST@168..273
                    L_CURLY@168..169 "{"
                    WHITESPACE@169..182 "\n            "
                    MATCH_EXPR@182..263
                      MATCH_KW@182..187 "match"
                      WHITESPACE@187..188 " "
                      PATH_EXPR@188..192
                        PATH@188..192
                          PATH_SEGMENT@188..192
                            NAME_REF@188..192
                              IDENT@188..192 "None"
                      WHITESPACE@192..193 " "
                      MATCH_ARM_LIST@193..263
                        L_CURLY@193..194 "{"
                        WHITESPACE@194..211 "\n                "
                        MATCH_ARM@211..249
                          WILDCARD_PAT@211..212
                            UNDERSCORE@211..212 "_"
                          WHITESPACE@212..213 " "
                          MATCH_GUARD@213..228
                            IF_KW@213..215 "if"
                            WHITESPACE@215..216 " "
                            LET_EXPR@216..228
                              LET_KW@216..219 "let"
                              WHITESPACE@219..220 " "
                              WILDCARD_PAT@220..221
                                UNDERSCORE@220..221 "_"
                              WHITESPACE@221..222 " "
                              EQ@222..223 "="
                              WHITESPACE@223..224 " "
                              PATH_EXPR@224..228
                                PATH@224..228
                                  PATH_SEGMENT@224..228
                                    NAME_REF@224..228
                                      IDENT@224..228 "None"
                          WHITESPACE@228..229 " "
                          FAT_ARROW@229..231 "=>"
                          WHITESPACE@231..232 " "
                          BLOCK_EXPR@232..249
                            STMT_LIST@232..249
                              L_CURLY@232..233 "{"
                              WHITESPACE@233..234 " "
                              LET_STMT@234..247
                                LET_KW@234..237 "let"
                                WHITESPACE@237..238 " "
                                WILDCARD_PAT@238..239
                                  UNDERSCORE@238..239 "_"
                                WHITESPACE@239..240 " "
                                EQ@240..241 "="
                                WHITESPACE@241..242 " "
                                PATH_EXPR@242..246
                                  PATH@242..246
                                    PATH_SEGMENT@242..246
                                      NAME_REF@242..246
                                        IDENT@242..246 "None"
                                SEMICOLON@246..247 ";"
                              WHITESPACE@247..248 " "
                              R_CURLY@248..249 "}"
                        WHITESPACE@249..262 "\n            "
                        R_CURLY@262..263 "}"
                    WHITESPACE@263..272 "\n        "
                    R_CURLY@272..273 "}"
              WHITESPACE@273..278 "\n    "
              R_CURLY@278..279 "}"
        WHITESPACE@279..280 "\n"
        R_CURLY@280..281 "}"
  WHITESPACE@281..282 "\n"
error 29..41: `let` expressions are not supported here
error 67..79: `let` expressions are not supported here
error 126..138: `let` expressions are not supported here