aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.txt
blob: 07a5fbf2d38a01b8463413790fc44cf7cee04a80 (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
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
SOURCE_FILE@[0; 395)
  COMMENT@[0; 60) "// https://github.com ..."
  WHITESPACE@[60; 62) "\n\n"
  FN_DEF@[62; 341)
    FN_KW@[62; 64) "fn"
    WHITESPACE@[64; 65) " "
    NAME@[65; 69)
      IDENT@[65; 69) "main"
    PARAM_LIST@[69; 71)
      L_PAREN@[69; 70) "("
      R_PAREN@[70; 71) ")"
    WHITESPACE@[71; 72) " "
    BLOCK_EXPR@[72; 341)
      BLOCK@[72; 341)
        L_CURLY@[72; 73) "{"
        WHITESPACE@[73; 78) "\n    "
        EXPR_STMT@[78; 141)
          MATCH_EXPR@[78; 141)
            MATCH_KW@[78; 83) "match"
            WHITESPACE@[83; 84) " "
            CALL_EXPR@[84; 92)
              PATH_EXPR@[84; 88)
                PATH@[84; 88)
                  PATH_SEGMENT@[84; 88)
                    NAME_REF@[84; 88)
                      IDENT@[84; 88) "Some"
              ARG_LIST@[88; 92)
                L_PAREN@[88; 89) "("
                PREFIX_EXPR@[89; 91)
                  MINUS@[89; 90) "-"
                  LITERAL@[90; 91)
                    INT_NUMBER@[90; 91) "1"
                R_PAREN@[91; 92) ")"
            WHITESPACE@[92; 93) " "
            MATCH_ARM_LIST@[93; 141)
              L_CURLY@[93; 94) "{"
              WHITESPACE@[94; 103) "\n        "
              MATCH_ARM@[103; 117)
                TUPLE_STRUCT_PAT@[103; 111)
                  PATH@[103; 107)
                    PATH_SEGMENT@[103; 107)
                      NAME_REF@[103; 107)
                        IDENT@[103; 107) "Some"
                  L_PAREN@[107; 108) "("
                  LITERAL_PAT@[108; 110)
                    MINUS@[108; 109) "-"
                    LITERAL@[109; 110)
                      INT_NUMBER@[109; 110) "1"
                  R_PAREN@[110; 111) ")"
                WHITESPACE@[111; 112) " "
                FAT_ARROW@[112; 114) "=>"
                WHITESPACE@[114; 115) " "
                TUPLE_EXPR@[115; 117)
                  L_PAREN@[115; 116) "("
                  R_PAREN@[116; 117) ")"
              COMMA@[117; 118) ","
              WHITESPACE@[118; 127) "\n        "
              MATCH_ARM@[127; 134)
                PLACEHOLDER_PAT@[127; 128)
                  UNDERSCORE@[127; 128) "_"
                WHITESPACE@[128; 129) " "
                FAT_ARROW@[129; 131) "=>"
                WHITESPACE@[131; 132) " "
                TUPLE_EXPR@[132; 134)
                  L_PAREN@[132; 133) "("
                  R_PAREN@[133; 134) ")"
              COMMA@[134; 135) ","
              WHITESPACE@[135; 140) "\n    "
              R_CURLY@[140; 141) "}"
        WHITESPACE@[141; 147) "\n\n    "
        EXPR_STMT@[147; 222)
          MATCH_EXPR@[147; 222)
            MATCH_KW@[147; 152) "match"
            WHITESPACE@[152; 153) " "
            CALL_EXPR@[153; 167)
              PATH_EXPR@[153; 157)
                PATH@[153; 157)
                  PATH_SEGMENT@[153; 157)
                    NAME_REF@[153; 157)
                      IDENT@[153; 157) "Some"
              ARG_LIST@[157; 167)
                L_PAREN@[157; 158) "("
                TUPLE_EXPR@[158; 166)
                  L_PAREN@[158; 159) "("
                  PREFIX_EXPR@[159; 161)
                    MINUS@[159; 160) "-"
                    LITERAL@[160; 161)
                      INT_NUMBER@[160; 161) "1"
                  COMMA@[161; 162) ","
                  WHITESPACE@[162; 163) " "
                  PREFIX_EXPR@[163; 165)
                    MINUS@[163; 164) "-"
                    LITERAL@[164; 165)
                      INT_NUMBER@[164; 165) "1"
                  R_PAREN@[165; 166) ")"
                R_PAREN@[166; 167) ")"
            WHITESPACE@[167; 168) " "
            MATCH_ARM_LIST@[168; 222)
              L_CURLY@[168; 169) "{"
              WHITESPACE@[169; 178) "\n        "
              MATCH_ARM@[178; 198)
                TUPLE_STRUCT_PAT@[178; 192)
                  PATH@[178; 182)
                    PATH_SEGMENT@[178; 182)
                      NAME_REF@[178; 182)
                        IDENT@[178; 182) "Some"
                  L_PAREN@[182; 183) "("
                  TUPLE_PAT@[183; 191)
                    L_PAREN@[183; 184) "("
                    LITERAL_PAT@[184; 186)
                      MINUS@[184; 185) "-"
                      LITERAL@[185; 186)
                        INT_NUMBER@[185; 186) "1"
                    COMMA@[186; 187) ","
                    WHITESPACE@[187; 188) " "
                    LITERAL_PAT@[188; 190)
                      MINUS@[188; 189) "-"
                      LITERAL@[189; 190)
                        INT_NUMBER@[189; 190) "1"
                    R_PAREN@[190; 191) ")"
                  R_PAREN@[191; 192) ")"
                WHITESPACE@[192; 193) " "
                FAT_ARROW@[193; 195) "=>"
                WHITESPACE@[195; 196) " "
                TUPLE_EXPR@[196; 198)
                  L_PAREN@[196; 197) "("
                  R_PAREN@[197; 198) ")"
              COMMA@[198; 199) ","
              WHITESPACE@[199; 208) "\n        "
              MATCH_ARM@[208; 215)
                PLACEHOLDER_PAT@[208; 209)
                  UNDERSCORE@[208; 209) "_"
                WHITESPACE@[209; 210) " "
                FAT_ARROW@[210; 212) "=>"
                WHITESPACE@[212; 213) " "
                TUPLE_EXPR@[213; 215)
                  L_PAREN@[213; 214) "("
                  R_PAREN@[214; 215) ")"
              COMMA@[215; 216) ","
              WHITESPACE@[216; 221) "\n    "
              R_CURLY@[221; 222) "}"
        WHITESPACE@[222; 228) "\n\n    "
        EXPR_STMT@[228; 299)
          MATCH_EXPR@[228; 299)
            MATCH_KW@[228; 233) "match"
            WHITESPACE@[233; 234) " "
            CALL_EXPR@[234; 246)
              PATH_EXPR@[234; 238)
                PATH@[234; 238)
                  PATH@[234; 235)
                    PATH_SEGMENT@[234; 235)
                      NAME_REF@[234; 235)
                        IDENT@[234; 235) "A"
                  COLONCOLON@[235; 237) "::"
                  PATH_SEGMENT@[237; 238)
                    NAME_REF@[237; 238)
                      IDENT@[237; 238) "B"
              ARG_LIST@[238; 246)
                L_PAREN@[238; 239) "("
                PREFIX_EXPR@[239; 241)
                  MINUS@[239; 240) "-"
                  LITERAL@[240; 241)
                    INT_NUMBER@[240; 241) "1"
                COMMA@[241; 242) ","
                WHITESPACE@[242; 243) " "
                PREFIX_EXPR@[243; 245)
                  MINUS@[243; 244) "-"
                  LITERAL@[244; 245)
                    INT_NUMBER@[244; 245) "1"
                R_PAREN@[245; 246) ")"
            WHITESPACE@[246; 247) " "
            MATCH_ARM_LIST@[247; 299)
              L_CURLY@[247; 248) "{"
              WHITESPACE@[248; 257) "\n        "
              MATCH_ARM@[257; 275)
                TUPLE_STRUCT_PAT@[257; 269)
                  PATH@[257; 261)
                    PATH@[257; 258)
                      PATH_SEGMENT@[257; 258)
                        NAME_REF@[257; 258)
                          IDENT@[257; 258) "A"
                    COLONCOLON@[258; 260) "::"
                    PATH_SEGMENT@[260; 261)
                      NAME_REF@[260; 261)
                        IDENT@[260; 261) "B"
                  L_PAREN@[261; 262) "("
                  LITERAL_PAT@[262; 264)
                    MINUS@[262; 263) "-"
                    LITERAL@[263; 264)
                      INT_NUMBER@[263; 264) "1"
                  COMMA@[264; 265) ","
                  WHITESPACE@[265; 266) " "
                  LITERAL_PAT@[266; 268)
                    MINUS@[266; 267) "-"
                    LITERAL@[267; 268)
                      INT_NUMBER@[267; 268) "1"
                  R_PAREN@[268; 269) ")"
                WHITESPACE@[269; 270) " "
                FAT_ARROW@[270; 272) "=>"
                WHITESPACE@[272; 273) " "
                TUPLE_EXPR@[273; 275)
                  L_PAREN@[273; 274) "("
                  R_PAREN@[274; 275) ")"
              COMMA@[275; 276) ","
              WHITESPACE@[276; 285) "\n        "
              MATCH_ARM@[285; 292)
                PLACEHOLDER_PAT@[285; 286)
                  UNDERSCORE@[285; 286) "_"
                WHITESPACE@[286; 287) " "
                FAT_ARROW@[287; 289) "=>"
                WHITESPACE@[289; 290) " "
                TUPLE_EXPR@[290; 292)
                  L_PAREN@[290; 291) "("
                  R_PAREN@[291; 292) ")"
              COMMA@[292; 293) ","
              WHITESPACE@[293; 298) "\n    "
              R_CURLY@[298; 299) "}"
        WHITESPACE@[299; 305) "\n\n    "
        IF_EXPR@[305; 339)
          IF_KW@[305; 307) "if"
          WHITESPACE@[307; 308) " "
          CONDITION@[308; 331)
            LET_KW@[308; 311) "let"
            WHITESPACE@[311; 312) " "
            TUPLE_STRUCT_PAT@[312; 320)
              PATH@[312; 316)
                PATH_SEGMENT@[312; 316)
                  NAME_REF@[312; 316)
                    IDENT@[312; 316) "Some"
              L_PAREN@[316; 317) "("
              LITERAL_PAT@[317; 319)
                MINUS@[317; 318) "-"
                LITERAL@[318; 319)
                  INT_NUMBER@[318; 319) "1"
              R_PAREN@[319; 320) ")"
            WHITESPACE@[320; 321) " "
            EQ@[321; 322) "="
            WHITESPACE@[322; 323) " "
            CALL_EXPR@[323; 331)
              PATH_EXPR@[323; 327)
                PATH@[323; 327)
                  PATH_SEGMENT@[323; 327)
                    NAME_REF@[323; 327)
                      IDENT@[323; 327) "Some"
              ARG_LIST@[327; 331)
                L_PAREN@[327; 328) "("
                PREFIX_EXPR@[328; 330)
                  MINUS@[328; 329) "-"
                  LITERAL@[329; 330)
                    INT_NUMBER@[329; 330) "1"
                R_PAREN@[330; 331) ")"
          WHITESPACE@[331; 332) " "
          BLOCK_EXPR@[332; 339)
            BLOCK@[332; 339)
              L_CURLY@[332; 333) "{"
              WHITESPACE@[333; 338) "\n    "
              R_CURLY@[338; 339) "}"
        WHITESPACE@[339; 340) "\n"
        R_CURLY@[340; 341) "}"
  WHITESPACE@[341; 343) "\n\n"
  ENUM_DEF@[343; 367)
    ENUM_KW@[343; 347) "enum"
    WHITESPACE@[347; 348) " "
    NAME@[348; 349)
      IDENT@[348; 349) "A"
    WHITESPACE@[349; 350) " "
    ENUM_VARIANT_LIST@[350; 367)
      L_CURLY@[350; 351) "{"
      WHITESPACE@[351; 356) "\n    "
      ENUM_VARIANT@[356; 365)
        NAME@[356; 357)
          IDENT@[356; 357) "B"
        TUPLE_FIELD_DEF_LIST@[357; 365)
          L_PAREN@[357; 358) "("
          TUPLE_FIELD_DEF@[358; 360)
            PATH_TYPE@[358; 360)
              PATH@[358; 360)
                PATH_SEGMENT@[358; 360)
                  NAME_REF@[358; 360)
                    IDENT@[358; 360) "i8"
          COMMA@[360; 361) ","
          WHITESPACE@[361; 362) " "
          TUPLE_FIELD_DEF@[362; 364)
            PATH_TYPE@[362; 364)
              PATH@[362; 364)
                PATH_SEGMENT@[362; 364)
                  NAME_REF@[362; 364)
                    IDENT@[362; 364) "i8"
          R_PAREN@[364; 365) ")"
      WHITESPACE@[365; 366) "\n"
      R_CURLY@[366; 367) "}"
  WHITESPACE@[367; 369) "\n\n"
  FN_DEF@[369; 394)
    FN_KW@[369; 371) "fn"
    WHITESPACE@[371; 372) " "
    NAME@[372; 375)
      IDENT@[372; 375) "foo"
    PARAM_LIST@[375; 391)
      L_PAREN@[375; 376) "("
      PARAM@[376; 390)
        RANGE_PAT@[376; 386)
          LITERAL_PAT@[376; 380)
            MINUS@[376; 377) "-"
            LITERAL@[377; 380)
              INT_NUMBER@[377; 380) "128"
          DOTDOTEQ@[380; 383) "..="
          LITERAL_PAT@[383; 386)
            LITERAL@[383; 386)
              INT_NUMBER@[383; 386) "127"
        COLON@[386; 387) ":"
        WHITESPACE@[387; 388) " "
        PATH_TYPE@[388; 390)
          PATH@[388; 390)
            PATH_SEGMENT@[388; 390)
              NAME_REF@[388; 390)
                IDENT@[388; 390) "i8"
      R_PAREN@[390; 391) ")"
    WHITESPACE@[391; 392) " "
    BLOCK_EXPR@[392; 394)
      BLOCK@[392; 394)
        L_CURLY@[392; 393) "{"
        R_CURLY@[393; 394) "}"
  WHITESPACE@[394; 395) "\n"