1 error[E0107]: missing generics for associated type `SVec::Item`
2 --> $DIR/issue-105742.rs:13:21
4 LL | <Self as SVec>::Item,
5 | ^^^^ expected 1 lifetime argument
7 note: associated type defined here, with 1 lifetime parameter: `'a`
8 --> $DIR/issue-105742.rs:33:10
10 LL | type Item<'a, T>;
12 help: add missing lifetime argument
14 LL | <Self as SVec>::Item<'a>,
17 error[E0107]: missing generics for associated type `SVec::Item`
18 --> $DIR/issue-105742.rs:13:21
20 LL | <Self as SVec>::Item,
21 | ^^^^ expected 1 generic argument
23 note: associated type defined here, with 1 generic parameter: `T`
24 --> $DIR/issue-105742.rs:33:10
26 LL | type Item<'a, T>;
28 help: add missing generic argument
30 LL | <Self as SVec>::Item<T>,
33 error[E0107]: missing generics for associated type `SVec::Item`
34 --> $DIR/issue-105742.rs:18:37
36 LL | Output = <Index<<Self as SVec>::Item,
37 | ^^^^ expected 1 lifetime argument
39 note: associated type defined here, with 1 lifetime parameter: `'a`
40 --> $DIR/issue-105742.rs:33:10
42 LL | type Item<'a, T>;
44 help: add missing lifetime argument
46 LL | Output = <Index<<Self as SVec>::Item<'a>,
49 error[E0107]: missing generics for associated type `SVec::Item`
50 --> $DIR/issue-105742.rs:18:37
52 LL | Output = <Index<<Self as SVec>::Item,
53 | ^^^^ expected 1 generic argument
55 note: associated type defined here, with 1 generic parameter: `T`
56 --> $DIR/issue-105742.rs:33:10
58 LL | type Item<'a, T>;
60 help: add missing generic argument
62 LL | Output = <Index<<Self as SVec>::Item<T>,
65 error[E0107]: missing generics for associated type `SVec::Item`
66 --> $DIR/issue-105742.rs:23:30
68 LL | Output = <Self as SVec>::Item> as SVec>::Item,
69 | ^^^^ expected 1 lifetime argument
71 note: associated type defined here, with 1 lifetime parameter: `'a`
72 --> $DIR/issue-105742.rs:33:10
74 LL | type Item<'a, T>;
76 help: add missing lifetime argument
78 LL | Output = <Self as SVec>::Item<'a>> as SVec>::Item,
81 error[E0107]: missing generics for associated type `SVec::Item`
82 --> $DIR/issue-105742.rs:23:30
84 LL | Output = <Self as SVec>::Item> as SVec>::Item,
85 | ^^^^ expected 1 generic argument
87 note: associated type defined here, with 1 generic parameter: `T`
88 --> $DIR/issue-105742.rs:33:10
90 LL | type Item<'a, T>;
92 help: add missing generic argument
94 LL | Output = <Self as SVec>::Item<T>> as SVec>::Item,
97 error[E0107]: missing generics for associated type `SVec::Item`
98 --> $DIR/issue-105742.rs:23:46
100 LL | Output = <Self as SVec>::Item> as SVec>::Item,
101 | ^^^^ expected 1 lifetime argument
103 note: associated type defined here, with 1 lifetime parameter: `'a`
104 --> $DIR/issue-105742.rs:33:10
106 LL | type Item<'a, T>;
108 help: add missing lifetime argument
110 LL | Output = <Self as SVec>::Item> as SVec>::Item<'a>,
113 error[E0107]: missing generics for associated type `SVec::Item`
114 --> $DIR/issue-105742.rs:23:46
116 LL | Output = <Self as SVec>::Item> as SVec>::Item,
117 | ^^^^ expected 1 generic argument
119 note: associated type defined here, with 1 generic parameter: `T`
120 --> $DIR/issue-105742.rs:33:10
122 LL | type Item<'a, T>;
124 help: add missing generic argument
126 LL | Output = <Self as SVec>::Item> as SVec>::Item<T>,
129 error[E0107]: missing generics for associated type `SVec::Item`
130 --> $DIR/issue-105742.rs:5:40
132 LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
133 | ^^^^ expected 1 lifetime argument
135 note: associated type defined here, with 1 lifetime parameter: `'a`
136 --> $DIR/issue-105742.rs:33:10
138 LL | type Item<'a, T>;
140 help: add missing lifetime argument
142 LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item<'_> = T, Output = T>) {
145 error[E0107]: missing generics for associated type `SVec::Item`
146 --> $DIR/issue-105742.rs:5:40
148 LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
149 | ^^^^ expected 1 generic argument
151 note: associated type defined here, with 1 generic parameter: `T`
152 --> $DIR/issue-105742.rs:33:10
154 LL | type Item<'a, T>;
156 help: add missing generic argument
158 LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item<T> = T, Output = T>) {
161 error[E0107]: missing generics for associated type `SVec::Item`
162 --> $DIR/issue-105742.rs:13:21
164 LL | <Self as SVec>::Item,
165 | ^^^^ expected 1 lifetime argument
167 note: associated type defined here, with 1 lifetime parameter: `'a`
168 --> $DIR/issue-105742.rs:33:10
170 LL | type Item<'a, T>;
172 help: add missing lifetime argument
174 LL | <Self as SVec>::Item<'a>,
177 error[E0107]: missing generics for associated type `SVec::Item`
178 --> $DIR/issue-105742.rs:13:21
180 LL | <Self as SVec>::Item,
181 | ^^^^ expected 1 generic argument
183 note: associated type defined here, with 1 generic parameter: `T`
184 --> $DIR/issue-105742.rs:33:10
186 LL | type Item<'a, T>;
188 help: add missing generic argument
190 LL | <Self as SVec>::Item<T>,
193 error[E0107]: missing generics for associated type `SVec::Item`
194 --> $DIR/issue-105742.rs:18:37
196 LL | Output = <Index<<Self as SVec>::Item,
197 | ^^^^ expected 1 lifetime argument
199 note: associated type defined here, with 1 lifetime parameter: `'a`
200 --> $DIR/issue-105742.rs:33:10
202 LL | type Item<'a, T>;
204 help: add missing lifetime argument
206 LL | Output = <Index<<Self as SVec>::Item<'a>,
209 error[E0107]: missing generics for associated type `SVec::Item`
210 --> $DIR/issue-105742.rs:18:37
212 LL | Output = <Index<<Self as SVec>::Item,
213 | ^^^^ expected 1 generic argument
215 note: associated type defined here, with 1 generic parameter: `T`
216 --> $DIR/issue-105742.rs:33:10
218 LL | type Item<'a, T>;
220 help: add missing generic argument
222 LL | Output = <Index<<Self as SVec>::Item<T>,
225 error[E0107]: missing generics for associated type `SVec::Item`
226 --> $DIR/issue-105742.rs:23:30
228 LL | Output = <Self as SVec>::Item> as SVec>::Item,
229 | ^^^^ expected 1 lifetime argument
231 note: associated type defined here, with 1 lifetime parameter: `'a`
232 --> $DIR/issue-105742.rs:33:10
234 LL | type Item<'a, T>;
236 help: add missing lifetime argument
238 LL | Output = <Self as SVec>::Item<'a>> as SVec>::Item,
241 error[E0107]: missing generics for associated type `SVec::Item`
242 --> $DIR/issue-105742.rs:23:30
244 LL | Output = <Self as SVec>::Item> as SVec>::Item,
245 | ^^^^ expected 1 generic argument
247 note: associated type defined here, with 1 generic parameter: `T`
248 --> $DIR/issue-105742.rs:33:10
250 LL | type Item<'a, T>;
252 help: add missing generic argument
254 LL | Output = <Self as SVec>::Item<T>> as SVec>::Item,
257 error[E0107]: missing generics for associated type `SVec::Item`
258 --> $DIR/issue-105742.rs:23:46
260 LL | Output = <Self as SVec>::Item> as SVec>::Item,
261 | ^^^^ expected 1 lifetime argument
263 note: associated type defined here, with 1 lifetime parameter: `'a`
264 --> $DIR/issue-105742.rs:33:10
266 LL | type Item<'a, T>;
268 help: add missing lifetime argument
270 LL | Output = <Self as SVec>::Item> as SVec>::Item<'a>,
273 error[E0107]: missing generics for associated type `SVec::Item`
274 --> $DIR/issue-105742.rs:23:46
276 LL | Output = <Self as SVec>::Item> as SVec>::Item,
277 | ^^^^ expected 1 generic argument
279 note: associated type defined here, with 1 generic parameter: `T`
280 --> $DIR/issue-105742.rs:33:10
282 LL | type Item<'a, T>;
284 help: add missing generic argument
286 LL | Output = <Self as SVec>::Item> as SVec>::Item<T>,
289 error[E0038]: the trait `SVec` cannot be made into an object
290 --> $DIR/issue-105742.rs:5:31
292 LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
293 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SVec` cannot be made into an object
295 note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
296 --> $DIR/issue-105742.rs:12:17
298 LL | pub trait SVec: Index<
299 | ____________----__^
301 | | this trait cannot be made into an object...
302 LL | | <Self as SVec>::Item,
306 LL | |/ Output = <Index<<Self as SVec>::Item,
311 LL | || Output = <Self as SVec>::Item> as SVec>::Item,
312 | ||_________________________________________________^ ...because it uses `Self` as a type parameter
316 | |__^ ...because it uses `Self` as a type parameter
318 error[E0107]: missing generics for associated type `SVec::Item`
319 --> $DIR/issue-105742.rs:35:38
321 LL | fn len(&self) -> <Self as SVec>::Item;
322 | ^^^^ expected 1 lifetime argument
324 note: associated type defined here, with 1 lifetime parameter: `'a`
325 --> $DIR/issue-105742.rs:33:10
327 LL | type Item<'a, T>;
329 help: add missing lifetime argument
331 LL | fn len(&self) -> <Self as SVec>::Item<'_>;
334 error[E0107]: missing generics for associated type `SVec::Item`
335 --> $DIR/issue-105742.rs:35:38
337 LL | fn len(&self) -> <Self as SVec>::Item;
338 | ^^^^ expected 1 generic argument
340 note: associated type defined here, with 1 generic parameter: `T`
341 --> $DIR/issue-105742.rs:33:10
343 LL | type Item<'a, T>;
345 help: add missing generic argument
347 LL | fn len(&self) -> <Self as SVec>::Item<T>;
350 error[E0107]: missing generics for associated type `SVec::Item`
351 --> $DIR/issue-105742.rs:35:38
353 LL | fn len(&self) -> <Self as SVec>::Item;
354 | ^^^^ expected 1 lifetime argument
356 note: associated type defined here, with 1 lifetime parameter: `'a`
357 --> $DIR/issue-105742.rs:33:10
359 LL | type Item<'a, T>;
361 help: add missing lifetime argument
363 LL | fn len(&self) -> <Self as SVec>::Item<'_>;
366 error[E0107]: missing generics for associated type `SVec::Item`
367 --> $DIR/issue-105742.rs:35:38
369 LL | fn len(&self) -> <Self as SVec>::Item;
370 | ^^^^ expected 1 generic argument
372 note: associated type defined here, with 1 generic parameter: `T`
373 --> $DIR/issue-105742.rs:33:10
375 LL | type Item<'a, T>;
377 help: add missing generic argument
379 LL | fn len(&self) -> <Self as SVec>::Item<T>;
382 error: aborting due to 23 previous errors
384 Some errors have detailed explanations: E0038, E0107.
385 For more information about an error, try `rustc --explain E0038`.