aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.txt
blob: ca66b44bb7cbda81c10818f02ff445fd224b0351 (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
SOURCE_FILE@[0; 395)
  COMMENT@[0; 60)
  WHITESPACE@[60; 62)
  FN_DEF@[62; 341)
    FN_KW@[62; 64)
    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@[72; 341)
      L_CURLY@[72; 73)
      WHITESPACE@[73; 78)
      EXPR_STMT@[78; 141)
        MATCH_EXPR@[78; 141)
          MATCH_KW@[78; 83)
          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)
            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)
            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)
            R_CURLY@[140; 141)
      WHITESPACE@[141; 147)
      EXPR_STMT@[147; 222)
        MATCH_EXPR@[147; 222)
          MATCH_KW@[147; 152)
          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)
            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)
            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)
            R_CURLY@[221; 222)
      WHITESPACE@[222; 228)
      EXPR_STMT@[228; 299)
        MATCH_EXPR@[228; 299)
          MATCH_KW@[228; 233)
          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)
            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)
            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)
            R_CURLY@[298; 299)
      WHITESPACE@[299; 305)
      IF_EXPR@[305; 339)
        IF_KW@[305; 307)
        WHITESPACE@[307; 308)
        CONDITION@[308; 331)
          LET_KW@[308; 311)
          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@[332; 339)
          L_CURLY@[332; 333)
          WHITESPACE@[333; 338)
          R_CURLY@[338; 339)
      WHITESPACE@[339; 340)
      R_CURLY@[340; 341)
  WHITESPACE@[341; 343)
  ENUM_DEF@[343; 367)
    ENUM_KW@[343; 347)
    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)
      ENUM_VARIANT@[356; 365)
        NAME@[356; 357)
          IDENT@[356; 357) "B"
        POS_FIELD_DEF_LIST@[357; 365)
          L_PAREN@[357; 358)
          POS_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)
          POS_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)
      R_CURLY@[366; 367)
  WHITESPACE@[367; 369)
  FN_DEF@[369; 394)
    FN_KW@[369; 371)
    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@[392; 394)
      L_CURLY@[392; 393)
      R_CURLY@[393; 394)
  WHITESPACE@[394; 395)