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