summaryrefslogtreecommitdiffstats
path: root/src/tools/rust-analyzer/crates/parser/test_data/parser/err/0024_many_type_parens.rast
blob: f0dbc9b1027fa9221576974820bd80ebf7cd12f5 (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
SOURCE_FILE
  FN
    FN_KW "fn"
    WHITESPACE " "
    NAME
      IDENT "f"
    GENERIC_PARAM_LIST
      L_ANGLE "<"
      TYPE_PARAM
        NAME
          IDENT "T"
        COLON ":"
        WHITESPACE " "
        TYPE_BOUND_LIST
          TYPE_BOUND
            L_PAREN "("
            PATH_TYPE
              PATH
                PATH_SEGMENT
                  NAME_REF
                    IDENT "Copy"
            R_PAREN ")"
          WHITESPACE " "
          PLUS "+"
          WHITESPACE " "
          TYPE_BOUND
            L_PAREN "("
            QUESTION "?"
            PATH_TYPE
              PATH
                PATH_SEGMENT
                  NAME_REF
                    IDENT "Sized"
            R_PAREN ")"
          WHITESPACE " "
          PLUS "+"
          WHITESPACE " "
          TYPE_BOUND
            L_PAREN "("
            FOR_TYPE
              FOR_KW "for"
              GENERIC_PARAM_LIST
                L_ANGLE "<"
                LIFETIME_PARAM
                  LIFETIME
                    LIFETIME_IDENT "'a"
                R_ANGLE ">"
              WHITESPACE " "
              PATH_TYPE
                PATH
                  PATH_SEGMENT
                    NAME_REF
                      IDENT "Trait"
                    GENERIC_ARG_LIST
                      L_ANGLE "<"
                      LIFETIME_ARG
                        LIFETIME
                          LIFETIME_IDENT "'a"
                      R_ANGLE ">"
            R_PAREN ")"
      R_ANGLE ">"
    PARAM_LIST
      L_PAREN "("
      R_PAREN ")"
    WHITESPACE " "
    BLOCK_EXPR
      STMT_LIST
        L_CURLY "{"
        R_CURLY "}"
  WHITESPACE "\n\n"
  FN
    FN_KW "fn"
    WHITESPACE " "
    NAME
      IDENT "main"
    PARAM_LIST
      L_PAREN "("
      R_PAREN ")"
    WHITESPACE " "
    BLOCK_EXPR
      STMT_LIST
        L_CURLY "{"
        WHITESPACE "\n    "
        LET_STMT
          LET_KW "let"
          WHITESPACE " "
          WILDCARD_PAT
            UNDERSCORE "_"
          COLON ":"
          WHITESPACE " "
          DYN_TRAIT_TYPE
            TYPE_BOUND_LIST
              TYPE_BOUND
                PATH_TYPE
                  PATH
                    PATH_SEGMENT
                      NAME_REF
                        IDENT "Box"
                      GENERIC_ARG_LIST
                        L_ANGLE "<"
                        TYPE_ARG
                          PAREN_TYPE
                            L_PAREN "("
                            PATH_TYPE
                              PATH
                                PATH_SEGMENT
                                  NAME_REF
                                    IDENT "Copy"
                            R_PAREN ")"
              WHITESPACE " "
              PLUS "+"
              WHITESPACE " "
              TYPE_BOUND
                L_PAREN "("
                QUESTION "?"
                PATH_TYPE
                  PATH
                    PATH_SEGMENT
                      NAME_REF
                        IDENT "Sized"
                R_PAREN ")"
              WHITESPACE " "
              PLUS "+"
              WHITESPACE " "
              TYPE_BOUND
                L_PAREN "("
                FOR_TYPE
                  FOR_KW "for"
                  GENERIC_PARAM_LIST
                    L_ANGLE "<"
                    LIFETIME_PARAM
                      LIFETIME
                        LIFETIME_IDENT "'a"
                    R_ANGLE ">"
                  WHITESPACE " "
                  PATH_TYPE
                    PATH
                      PATH_SEGMENT
                        NAME_REF
                          IDENT "Trait"
                        GENERIC_ARG_LIST
                          L_ANGLE "<"
                          LIFETIME_ARG
                            LIFETIME
                              LIFETIME_IDENT "'a"
                          R_ANGLE ">"
                R_PAREN ")"
        ERROR
          R_ANGLE ">"
        SEMICOLON ";"
        WHITESPACE "\n    "
        LET_STMT
          LET_KW "let"
          WHITESPACE " "
          WILDCARD_PAT
            UNDERSCORE "_"
          COLON ":"
          WHITESPACE " "
          PATH_TYPE
            PATH
              PATH_SEGMENT
                NAME_REF
                  IDENT "Box"
                GENERIC_ARG_LIST
                  L_ANGLE "<"
                  TYPE_ARG
                    PAREN_TYPE
                      L_PAREN "("
                      ERROR
                        QUESTION "?"
                  TYPE_ARG
                    PATH_TYPE
                      PATH
                        PATH_SEGMENT
                          NAME_REF
                            IDENT "Sized"
        ERROR
          R_PAREN ")"
        WHITESPACE " "
        ERROR
          PLUS "+"
        WHITESPACE " "
        EXPR_STMT
          BIN_EXPR
            BIN_EXPR
              TUPLE_EXPR
                L_PAREN "("
                CLOSURE_EXPR
                  FOR_KW "for"
                  GENERIC_PARAM_LIST
                    L_ANGLE "<"
                    LIFETIME_PARAM
                      LIFETIME
                        LIFETIME_IDENT "'a"
                    R_ANGLE ">"
                WHITESPACE " "
                BIN_EXPR
                  BIN_EXPR
                    PATH_EXPR
                      PATH
                        PATH_SEGMENT
                          NAME_REF
                            IDENT "Trait"
                    L_ANGLE "<"
                    ERROR
                      LIFETIME_IDENT "'a"
                  R_ANGLE ">"
                R_PAREN ")"
              WHITESPACE " "
              PLUS "+"
              WHITESPACE " "
              PAREN_EXPR
                L_PAREN "("
                PATH_EXPR
                  PATH
                    PATH_SEGMENT
                      NAME_REF
                        IDENT "Copy"
                R_PAREN ")"
            R_ANGLE ">"
            ERROR
              SEMICOLON ";"
        WHITESPACE "\n    "
        LET_STMT
          LET_KW "let"
          WHITESPACE " "
          WILDCARD_PAT
            UNDERSCORE "_"
          COLON ":"
          WHITESPACE " "
          DYN_TRAIT_TYPE
            TYPE_BOUND_LIST
              TYPE_BOUND
                PATH_TYPE
                  PATH
                    PATH_SEGMENT
                      NAME_REF
                        IDENT "Box"
                      GENERIC_ARG_LIST
                        L_ANGLE "<"
                        TYPE_ARG
                          PAREN_TYPE
                            L_PAREN "("
                            FOR_TYPE
                              FOR_KW "for"
                              GENERIC_PARAM_LIST
                                L_ANGLE "<"
                                LIFETIME_PARAM
                                  LIFETIME
                                    LIFETIME_IDENT "'a"
                                R_ANGLE ">"
                              WHITESPACE " "
                              PATH_TYPE
                                PATH
                                  PATH_SEGMENT
                                    NAME_REF
                                      IDENT "Trait"
                                    GENERIC_ARG_LIST
                                      L_ANGLE "<"
                                      LIFETIME_ARG
                                        LIFETIME
                                          LIFETIME_IDENT "'a"
                                      R_ANGLE ">"
                            R_PAREN ")"
              WHITESPACE " "
              PLUS "+"
              WHITESPACE " "
              TYPE_BOUND
                L_PAREN "("
                PATH_TYPE
                  PATH
                    PATH_SEGMENT
                      NAME_REF
                        IDENT "Copy"
                R_PAREN ")"
              WHITESPACE " "
              PLUS "+"
              WHITESPACE " "
              TYPE_BOUND
                L_PAREN "("
                QUESTION "?"
                PATH_TYPE
                  PATH
                    PATH_SEGMENT
                      NAME_REF
                        IDENT "Sized"
                R_PAREN ")"
        ERROR
          R_ANGLE ">"
        SEMICOLON ";"
        WHITESPACE "\n"
        R_CURLY "}"
  WHITESPACE "\n"
error 88: expected R_ANGLE
error 121: expected SEMICOLON
error 121: expected expression, item or let statement
error 140: expected type
error 141: expected R_PAREN
error 141: expected COMMA
error 146: expected R_ANGLE
error 146: expected SEMICOLON
error 146: expected expression, item or let statement
error 148: expected expression, item or let statement
error 158: expected `|`
error 158: expected COMMA
error 165: expected expression
error 168: expected expression
error 179: expected expression
error 180: expected SEMICOLON
error 215: expected R_ANGLE
error 235: expected SEMICOLON
error 235: expected expression, item or let statement