aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast')
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast536
1 files changed, 268 insertions, 268 deletions
diff --git a/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast b/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast
index edacc4bd9..4fb4baf56 100644
--- a/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast
@@ -1,268 +1,268 @@
1SOURCE_FILE@[0; 250) 1SOURCE_FILE@0..250
2 STRUCT_DEF@[0; 12) 2 STRUCT_DEF@0..12
3 STRUCT_KW@[0; 6) "struct" 3 STRUCT_KW@0..6 "struct"
4 WHITESPACE@[6; 7) " " 4 WHITESPACE@6..7 " "
5 NAME@[7; 8) 5 NAME@7..8
6 IDENT@[7; 8) "A" 6 IDENT@7..8 "A"
7 TYPE_PARAM_LIST@[8; 11) 7 TYPE_PARAM_LIST@8..11
8 L_ANGLE@[8; 9) "<" 8 L_ANGLE@8..9 "<"
9 TYPE_PARAM@[9; 10) 9 TYPE_PARAM@9..10
10 NAME@[9; 10) 10 NAME@9..10
11 IDENT@[9; 10) "T" 11 IDENT@9..10 "T"
12 R_ANGLE@[10; 11) ">" 12 R_ANGLE@10..11 ">"
13 SEMICOLON@[11; 12) ";" 13 SEMICOLON@11..12 ";"
14 WHITESPACE@[12; 13) "\n" 14 WHITESPACE@12..13 "\n"
15 STRUCT_DEF@[13; 26) 15 STRUCT_DEF@13..26
16 STRUCT_KW@[13; 19) "struct" 16 STRUCT_KW@13..19 "struct"
17 WHITESPACE@[19; 20) " " 17 WHITESPACE@19..20 " "
18 NAME@[20; 21) 18 NAME@20..21
19 IDENT@[20; 21) "B" 19 IDENT@20..21 "B"
20 TYPE_PARAM_LIST@[21; 25) 20 TYPE_PARAM_LIST@21..25
21 L_ANGLE@[21; 22) "<" 21 L_ANGLE@21..22 "<"
22 TYPE_PARAM@[22; 24) 22 TYPE_PARAM@22..24
23 NAME@[22; 23) 23 NAME@22..23
24 IDENT@[22; 23) "T" 24 IDENT@22..23 "T"
25 COLON@[23; 24) ":" 25 COLON@23..24 ":"
26 TYPE_BOUND_LIST@[24; 24) 26 TYPE_BOUND_LIST@24..24
27 R_ANGLE@[24; 25) ">" 27 R_ANGLE@24..25 ">"
28 SEMICOLON@[25; 26) ";" 28 SEMICOLON@25..26 ";"
29 WHITESPACE@[26; 27) "\n" 29 WHITESPACE@26..27 "\n"
30 STRUCT_DEF@[27; 43) 30 STRUCT_DEF@27..43
31 STRUCT_KW@[27; 33) "struct" 31 STRUCT_KW@27..33 "struct"
32 WHITESPACE@[33; 34) " " 32 WHITESPACE@33..34 " "
33 NAME@[34; 35) 33 NAME@34..35
34 IDENT@[34; 35) "C" 34 IDENT@34..35 "C"
35 TYPE_PARAM_LIST@[35; 42) 35 TYPE_PARAM_LIST@35..42
36 L_ANGLE@[35; 36) "<" 36 L_ANGLE@35..36 "<"
37 TYPE_PARAM@[36; 41) 37 TYPE_PARAM@36..41
38 NAME@[36; 37) 38 NAME@36..37
39 IDENT@[36; 37) "T" 39 IDENT@36..37 "T"
40 COLON@[37; 38) ":" 40 COLON@37..38 ":"
41 WHITESPACE@[38; 39) " " 41 WHITESPACE@38..39 " "
42 TYPE_BOUND_LIST@[39; 41) 42 TYPE_BOUND_LIST@39..41
43 TYPE_BOUND@[39; 41) 43 TYPE_BOUND@39..41
44 LIFETIME@[39; 41) "\'a" 44 LIFETIME@39..41 "\'a"
45 R_ANGLE@[41; 42) ">" 45 R_ANGLE@41..42 ">"
46 SEMICOLON@[42; 43) ";" 46 SEMICOLON@42..43 ";"
47 WHITESPACE@[43; 44) "\n" 47 WHITESPACE@43..44 "\n"
48 STRUCT_DEF@[44; 63) 48 STRUCT_DEF@44..63
49 STRUCT_KW@[44; 50) "struct" 49 STRUCT_KW@44..50 "struct"
50 WHITESPACE@[50; 51) " " 50 WHITESPACE@50..51 " "
51 NAME@[51; 52) 51 NAME@51..52
52 IDENT@[51; 52) "D" 52 IDENT@51..52 "D"
53 TYPE_PARAM_LIST@[52; 62) 53 TYPE_PARAM_LIST@52..62
54 L_ANGLE@[52; 53) "<" 54 L_ANGLE@52..53 "<"
55 TYPE_PARAM@[53; 60) 55 TYPE_PARAM@53..60
56 NAME@[53; 54) 56 NAME@53..54
57 IDENT@[53; 54) "T" 57 IDENT@53..54 "T"
58 COLON@[54; 55) ":" 58 COLON@54..55 ":"
59 WHITESPACE@[55; 56) " " 59 WHITESPACE@55..56 " "
60 TYPE_BOUND_LIST@[56; 60) 60 TYPE_BOUND_LIST@56..60
61 TYPE_BOUND@[56; 58) 61 TYPE_BOUND@56..58
62 LIFETIME@[56; 58) "\'a" 62 LIFETIME@56..58 "\'a"
63 WHITESPACE@[58; 59) " " 63 WHITESPACE@58..59 " "
64 PLUS@[59; 60) "+" 64 PLUS@59..60 "+"
65 WHITESPACE@[60; 61) " " 65 WHITESPACE@60..61 " "
66 R_ANGLE@[61; 62) ">" 66 R_ANGLE@61..62 ">"
67 SEMICOLON@[62; 63) ";" 67 SEMICOLON@62..63 ";"
68 WHITESPACE@[63; 64) "\n" 68 WHITESPACE@63..64 "\n"
69 STRUCT_DEF@[64; 86) 69 STRUCT_DEF@64..86
70 STRUCT_KW@[64; 70) "struct" 70 STRUCT_KW@64..70 "struct"
71 WHITESPACE@[70; 71) " " 71 WHITESPACE@70..71 " "
72 NAME@[71; 72) 72 NAME@71..72
73 IDENT@[71; 72) "E" 73 IDENT@71..72 "E"
74 TYPE_PARAM_LIST@[72; 85) 74 TYPE_PARAM_LIST@72..85
75 L_ANGLE@[72; 73) "<" 75 L_ANGLE@72..73 "<"
76 TYPE_PARAM@[73; 83) 76 TYPE_PARAM@73..83
77 NAME@[73; 74) 77 NAME@73..74
78 IDENT@[73; 74) "T" 78 IDENT@73..74 "T"
79 COLON@[74; 75) ":" 79 COLON@74..75 ":"
80 WHITESPACE@[75; 76) " " 80 WHITESPACE@75..76 " "
81 TYPE_BOUND_LIST@[76; 83) 81 TYPE_BOUND_LIST@76..83
82 TYPE_BOUND@[76; 78) 82 TYPE_BOUND@76..78
83 LIFETIME@[76; 78) "\'a" 83 LIFETIME@76..78 "\'a"
84 WHITESPACE@[78; 79) " " 84 WHITESPACE@78..79 " "
85 PLUS@[79; 80) "+" 85 PLUS@79..80 "+"
86 WHITESPACE@[80; 81) " " 86 WHITESPACE@80..81 " "
87 TYPE_BOUND@[81; 83) 87 TYPE_BOUND@81..83
88 LIFETIME@[81; 83) "\'d" 88 LIFETIME@81..83 "\'d"
89 WHITESPACE@[83; 84) " " 89 WHITESPACE@83..84 " "
90 R_ANGLE@[84; 85) ">" 90 R_ANGLE@84..85 ">"
91 SEMICOLON@[85; 86) ";" 91 SEMICOLON@85..86 ";"
92 WHITESPACE@[86; 87) "\n" 92 WHITESPACE@86..87 "\n"
93 STRUCT_DEF@[87; 116) 93 STRUCT_DEF@87..116
94 STRUCT_KW@[87; 93) "struct" 94 STRUCT_KW@87..93 "struct"
95 WHITESPACE@[93; 94) " " 95 WHITESPACE@93..94 " "
96 NAME@[94; 95) 96 NAME@94..95
97 IDENT@[94; 95) "F" 97 IDENT@94..95 "F"
98 TYPE_PARAM_LIST@[95; 115) 98 TYPE_PARAM_LIST@95..115
99 L_ANGLE@[95; 96) "<" 99 L_ANGLE@95..96 "<"
100 TYPE_PARAM@[96; 114) 100 TYPE_PARAM@96..114
101 NAME@[96; 97) 101 NAME@96..97
102 IDENT@[96; 97) "T" 102 IDENT@96..97 "T"
103 COLON@[97; 98) ":" 103 COLON@97..98 ":"
104 WHITESPACE@[98; 99) " " 104 WHITESPACE@98..99 " "
105 TYPE_BOUND_LIST@[99; 114) 105 TYPE_BOUND_LIST@99..114
106 TYPE_BOUND@[99; 101) 106 TYPE_BOUND@99..101
107 LIFETIME@[99; 101) "\'a" 107 LIFETIME@99..101 "\'a"
108 WHITESPACE@[101; 102) " " 108 WHITESPACE@101..102 " "
109 PLUS@[102; 103) "+" 109 PLUS@102..103 "+"
110 WHITESPACE@[103; 104) " " 110 WHITESPACE@103..104 " "
111 TYPE_BOUND@[104; 106) 111 TYPE_BOUND@104..106
112 LIFETIME@[104; 106) "\'d" 112 LIFETIME@104..106 "\'d"
113 WHITESPACE@[106; 107) " " 113 WHITESPACE@106..107 " "
114 PLUS@[107; 108) "+" 114 PLUS@107..108 "+"
115 WHITESPACE@[108; 109) " " 115 WHITESPACE@108..109 " "
116 TYPE_BOUND@[109; 114) 116 TYPE_BOUND@109..114
117 PATH_TYPE@[109; 114) 117 PATH_TYPE@109..114
118 PATH@[109; 114) 118 PATH@109..114
119 PATH_SEGMENT@[109; 114) 119 PATH_SEGMENT@109..114
120 NAME_REF@[109; 114) 120 NAME_REF@109..114
121 IDENT@[109; 114) "Clone" 121 IDENT@109..114 "Clone"
122 R_ANGLE@[114; 115) ">" 122 R_ANGLE@114..115 ">"
123 SEMICOLON@[115; 116) ";" 123 SEMICOLON@115..116 ";"
124 WHITESPACE@[116; 117) "\n" 124 WHITESPACE@116..117 "\n"
125 STRUCT_DEF@[117; 143) 125 STRUCT_DEF@117..143
126 STRUCT_KW@[117; 123) "struct" 126 STRUCT_KW@117..123 "struct"
127 WHITESPACE@[123; 124) " " 127 WHITESPACE@123..124 " "
128 NAME@[124; 125) 128 NAME@124..125
129 IDENT@[124; 125) "G" 129 IDENT@124..125 "G"
130 TYPE_PARAM_LIST@[125; 142) 130 TYPE_PARAM_LIST@125..142
131 L_ANGLE@[125; 126) "<" 131 L_ANGLE@125..126 "<"
132 TYPE_PARAM@[126; 141) 132 TYPE_PARAM@126..141
133 NAME@[126; 127) 133 NAME@126..127
134 IDENT@[126; 127) "T" 134 IDENT@126..127 "T"
135 COLON@[127; 128) ":" 135 COLON@127..128 ":"
136 WHITESPACE@[128; 129) " " 136 WHITESPACE@128..129 " "
137 TYPE_BOUND_LIST@[129; 141) 137 TYPE_BOUND_LIST@129..141
138 TYPE_BOUND@[129; 134) 138 TYPE_BOUND@129..134
139 PATH_TYPE@[129; 134) 139 PATH_TYPE@129..134
140 PATH@[129; 134) 140 PATH@129..134
141 PATH_SEGMENT@[129; 134) 141 PATH_SEGMENT@129..134
142 NAME_REF@[129; 134) 142 NAME_REF@129..134
143 IDENT@[129; 134) "Clone" 143 IDENT@129..134 "Clone"
144 WHITESPACE@[134; 135) " " 144 WHITESPACE@134..135 " "
145 PLUS@[135; 136) "+" 145 PLUS@135..136 "+"
146 WHITESPACE@[136; 137) " " 146 WHITESPACE@136..137 " "
147 TYPE_BOUND@[137; 141) 147 TYPE_BOUND@137..141
148 PATH_TYPE@[137; 141) 148 PATH_TYPE@137..141
149 PATH@[137; 141) 149 PATH@137..141
150 PATH_SEGMENT@[137; 141) 150 PATH_SEGMENT@137..141
151 NAME_REF@[137; 141) 151 NAME_REF@137..141
152 IDENT@[137; 141) "Copy" 152 IDENT@137..141 "Copy"
153 R_ANGLE@[141; 142) ">" 153 R_ANGLE@141..142 ">"
154 SEMICOLON@[142; 143) ";" 154 SEMICOLON@142..143 ";"
155 WHITESPACE@[143; 144) "\n" 155 WHITESPACE@143..144 "\n"
156 STRUCT_DEF@[144; 180) 156 STRUCT_DEF@144..180
157 STRUCT_KW@[144; 150) "struct" 157 STRUCT_KW@144..150 "struct"
158 WHITESPACE@[150; 151) " " 158 WHITESPACE@150..151 " "
159 NAME@[151; 152) 159 NAME@151..152
160 IDENT@[151; 152) "H" 160 IDENT@151..152 "H"
161 TYPE_PARAM_LIST@[152; 179) 161 TYPE_PARAM_LIST@152..179
162 L_ANGLE@[152; 153) "<" 162 L_ANGLE@152..153 "<"
163 TYPE_PARAM@[153; 178) 163 TYPE_PARAM@153..178
164 NAME@[153; 154) 164 NAME@153..154
165 IDENT@[153; 154) "T" 165 IDENT@153..154 "T"
166 COLON@[154; 155) ":" 166 COLON@154..155 ":"
167 WHITESPACE@[155; 156) " " 167 WHITESPACE@155..156 " "
168 TYPE_BOUND_LIST@[156; 178) 168 TYPE_BOUND_LIST@156..178
169 TYPE_BOUND@[156; 161) 169 TYPE_BOUND@156..161
170 PATH_TYPE@[156; 161) 170 PATH_TYPE@156..161
171 PATH@[156; 161) 171 PATH@156..161
172 PATH_SEGMENT@[156; 161) 172 PATH_SEGMENT@156..161
173 COLON2@[156; 158) "::" 173 COLON2@156..158 "::"
174 NAME_REF@[158; 161) 174 NAME_REF@158..161
175 IDENT@[158; 161) "Foo" 175 IDENT@158..161 "Foo"
176 WHITESPACE@[161; 162) " " 176 WHITESPACE@161..162 " "
177 PLUS@[162; 163) "+" 177 PLUS@162..163 "+"
178 WHITESPACE@[163; 164) " " 178 WHITESPACE@163..164 " "
179 TYPE_BOUND@[164; 173) 179 TYPE_BOUND@164..173
180 PATH_TYPE@[164; 173) 180 PATH_TYPE@164..173
181 PATH@[164; 173) 181 PATH@164..173
182 PATH@[164; 168) 182 PATH@164..168
183 PATH_SEGMENT@[164; 168) 183 PATH_SEGMENT@164..168
184 SELF_KW@[164; 168) "self" 184 SELF_KW@164..168 "self"
185 COLON2@[168; 170) "::" 185 COLON2@168..170 "::"
186 PATH_SEGMENT@[170; 173) 186 PATH_SEGMENT@170..173
187 NAME_REF@[170; 173) 187 NAME_REF@170..173
188 IDENT@[170; 173) "Bar" 188 IDENT@170..173 "Bar"
189 WHITESPACE@[173; 174) " " 189 WHITESPACE@173..174 " "
190 PLUS@[174; 175) "+" 190 PLUS@174..175 "+"
191 WHITESPACE@[175; 176) " " 191 WHITESPACE@175..176 " "
192 TYPE_BOUND@[176; 178) 192 TYPE_BOUND@176..178
193 LIFETIME@[176; 178) "\'a" 193 LIFETIME@176..178 "\'a"
194 R_ANGLE@[178; 179) ">" 194 R_ANGLE@178..179 ">"
195 SEMICOLON@[179; 180) ";" 195 SEMICOLON@179..180 ";"
196 WHITESPACE@[180; 181) "\n" 196 WHITESPACE@180..181 "\n"
197 STRUCT_DEF@[181; 199) 197 STRUCT_DEF@181..199
198 STRUCT_KW@[181; 187) "struct" 198 STRUCT_KW@181..187 "struct"
199 WHITESPACE@[187; 188) " " 199 WHITESPACE@187..188 " "
200 NAME@[188; 189) 200 NAME@188..189
201 IDENT@[188; 189) "I" 201 IDENT@188..189 "I"
202 TYPE_PARAM_LIST@[189; 198) 202 TYPE_PARAM_LIST@189..198
203 L_ANGLE@[189; 190) "<" 203 L_ANGLE@189..190 "<"
204 TYPE_PARAM@[190; 192) 204 TYPE_PARAM@190..192
205 NAME@[190; 191) 205 NAME@190..191
206 IDENT@[190; 191) "T" 206 IDENT@190..191 "T"
207 COLON@[191; 192) ":" 207 COLON@191..192 ":"
208 TYPE_BOUND_LIST@[192; 192) 208 TYPE_BOUND_LIST@192..192
209 COMMA@[192; 193) "," 209 COMMA@192..193 ","
210 WHITESPACE@[193; 194) " " 210 WHITESPACE@193..194 " "
211 TYPE_PARAM@[194; 196) 211 TYPE_PARAM@194..196
212 NAME@[194; 195) 212 NAME@194..195
213 IDENT@[194; 195) "U" 213 IDENT@194..195 "U"
214 COLON@[195; 196) ":" 214 COLON@195..196 ":"
215 TYPE_BOUND_LIST@[196; 196) 215 TYPE_BOUND_LIST@196..196
216 COMMA@[196; 197) "," 216 COMMA@196..197 ","
217 R_ANGLE@[197; 198) ">" 217 R_ANGLE@197..198 ">"
218 SEMICOLON@[198; 199) ";" 218 SEMICOLON@198..199 ";"
219 WHITESPACE@[199; 200) "\n" 219 WHITESPACE@199..200 "\n"
220 STRUCT_DEF@[200; 250) 220 STRUCT_DEF@200..250
221 STRUCT_KW@[200; 206) "struct" 221 STRUCT_KW@200..206 "struct"
222 WHITESPACE@[206; 207) " " 222 WHITESPACE@206..207 " "
223 NAME@[207; 208) 223 NAME@207..208
224 IDENT@[207; 208) "K" 224 IDENT@207..208 "K"
225 TYPE_PARAM_LIST@[208; 249) 225 TYPE_PARAM_LIST@208..249
226 L_ANGLE@[208; 209) "<" 226 L_ANGLE@208..209 "<"
227 LIFETIME_PARAM@[209; 215) 227 LIFETIME_PARAM@209..215
228 LIFETIME@[209; 211) "\'a" 228 LIFETIME@209..211 "\'a"
229 COLON@[211; 212) ":" 229 COLON@211..212 ":"
230 WHITESPACE@[212; 213) " " 230 WHITESPACE@212..213 " "
231 LIFETIME@[213; 215) "\'d" 231 LIFETIME@213..215 "\'d"
232 COMMA@[215; 216) "," 232 COMMA@215..216 ","
233 WHITESPACE@[216; 217) " " 233 WHITESPACE@216..217 " "
234 LIFETIME_PARAM@[217; 228) 234 LIFETIME_PARAM@217..228
235 LIFETIME@[217; 219) "\'d" 235 LIFETIME@217..219 "\'d"
236 COLON@[219; 220) ":" 236 COLON@219..220 ":"
237 WHITESPACE@[220; 221) " " 237 WHITESPACE@220..221 " "
238 LIFETIME@[221; 223) "\'a" 238 LIFETIME@221..223 "\'a"
239 WHITESPACE@[223; 224) " " 239 WHITESPACE@223..224 " "
240 PLUS@[224; 225) "+" 240 PLUS@224..225 "+"
241 WHITESPACE@[225; 226) " " 241 WHITESPACE@225..226 " "
242 LIFETIME@[226; 228) "\'b" 242 LIFETIME@226..228 "\'b"
243 COMMA@[228; 229) "," 243 COMMA@228..229 ","
244 WHITESPACE@[229; 230) " " 244 WHITESPACE@229..230 " "
245 TYPE_PARAM@[230; 248) 245 TYPE_PARAM@230..248
246 NAME@[230; 231) 246 NAME@230..231
247 IDENT@[230; 231) "T" 247 IDENT@230..231 "T"
248 COLON@[231; 232) ":" 248 COLON@231..232 ":"
249 WHITESPACE@[232; 233) " " 249 WHITESPACE@232..233 " "
250 TYPE_BOUND_LIST@[233; 248) 250 TYPE_BOUND_LIST@233..248
251 TYPE_BOUND@[233; 235) 251 TYPE_BOUND@233..235
252 LIFETIME@[233; 235) "\'a" 252 LIFETIME@233..235 "\'a"
253 WHITESPACE@[235; 236) " " 253 WHITESPACE@235..236 " "
254 PLUS@[236; 237) "+" 254 PLUS@236..237 "+"
255 WHITESPACE@[237; 238) " " 255 WHITESPACE@237..238 " "
256 TYPE_BOUND@[238; 240) 256 TYPE_BOUND@238..240
257 LIFETIME@[238; 240) "\'d" 257 LIFETIME@238..240 "\'d"
258 WHITESPACE@[240; 241) " " 258 WHITESPACE@240..241 " "
259 PLUS@[241; 242) "+" 259 PLUS@241..242 "+"
260 WHITESPACE@[242; 243) " " 260 WHITESPACE@242..243 " "
261 TYPE_BOUND@[243; 248) 261 TYPE_BOUND@243..248
262 PATH_TYPE@[243; 248) 262 PATH_TYPE@243..248
263 PATH@[243; 248) 263 PATH@243..248
264 PATH_SEGMENT@[243; 248) 264 PATH_SEGMENT@243..248
265 NAME_REF@[243; 248) 265 NAME_REF@243..248
266 IDENT@[243; 248) "Clone" 266 IDENT@243..248 "Clone"
267 R_ANGLE@[248; 249) ">" 267 R_ANGLE@248..249 ">"
268 SEMICOLON@[249; 250) ";" 268 SEMICOLON@249..250 ";"