1error[E0107]: missing generics for associated type `SVec::Item` 2 --> $DIR/issue-105742.rs:15:21 3 | 4LL | <Self as SVec>::Item, 5 | ^^^^ expected 1 lifetime argument 6 | 7note: associated type defined here, with 1 lifetime parameter: `'a` 8 --> $DIR/issue-105742.rs:51:10 9 | 10LL | type Item<'a, T>; 11 | ^^^^ -- 12help: add missing lifetime argument 13 | 14LL | <Self as SVec>::Item<'a>, 15 | ++++ 16 17error[E0107]: missing generics for associated type `SVec::Item` 18 --> $DIR/issue-105742.rs:15:21 19 | 20LL | <Self as SVec>::Item, 21 | ^^^^ expected 1 generic argument 22 | 23note: associated type defined here, with 1 generic parameter: `T` 24 --> $DIR/issue-105742.rs:51:10 25 | 26LL | type Item<'a, T>; 27 | ^^^^ - 28help: add missing generic argument 29 | 30LL | <Self as SVec>::Item<T>, 31 | +++ 32 33error[E0107]: missing generics for associated type `SVec::Item` 34 --> $DIR/issue-105742.rs:24:37 35 | 36LL | Output = <Index<<Self as SVec>::Item, 37 | ^^^^ expected 1 lifetime argument 38 | 39note: associated type defined here, with 1 lifetime parameter: `'a` 40 --> $DIR/issue-105742.rs:51:10 41 | 42LL | type Item<'a, T>; 43 | ^^^^ -- 44help: add missing lifetime argument 45 | 46LL | Output = <Index<<Self as SVec>::Item<'a>, 47 | ++++ 48 49error[E0107]: missing generics for associated type `SVec::Item` 50 --> $DIR/issue-105742.rs:24:37 51 | 52LL | Output = <Index<<Self as SVec>::Item, 53 | ^^^^ expected 1 generic argument 54 | 55note: associated type defined here, with 1 generic parameter: `T` 56 --> $DIR/issue-105742.rs:51:10 57 | 58LL | type Item<'a, T>; 59 | ^^^^ - 60help: add missing generic argument 61 | 62LL | Output = <Index<<Self as SVec>::Item<T>, 63 | +++ 64 65error[E0107]: missing generics for associated type `SVec::Item` 66 --> $DIR/issue-105742.rs:33:30 67 | 68LL | Output = <Self as SVec>::Item> as SVec>::Item, 69 | ^^^^ expected 1 lifetime argument 70 | 71note: associated type defined here, with 1 lifetime parameter: `'a` 72 --> $DIR/issue-105742.rs:51:10 73 | 74LL | type Item<'a, T>; 75 | ^^^^ -- 76help: add missing lifetime argument 77 | 78LL | Output = <Self as SVec>::Item<'a>> as SVec>::Item, 79 | ++++ 80 81error[E0107]: missing generics for associated type `SVec::Item` 82 --> $DIR/issue-105742.rs:33:30 83 | 84LL | Output = <Self as SVec>::Item> as SVec>::Item, 85 | ^^^^ expected 1 generic argument 86 | 87note: associated type defined here, with 1 generic parameter: `T` 88 --> $DIR/issue-105742.rs:51:10 89 | 90LL | type Item<'a, T>; 91 | ^^^^ - 92help: add missing generic argument 93 | 94LL | Output = <Self as SVec>::Item<T>> as SVec>::Item, 95 | +++ 96 97error[E0107]: missing generics for associated type `SVec::Item` 98 --> $DIR/issue-105742.rs:33:46 99 | 100LL | Output = <Self as SVec>::Item> as SVec>::Item, 101 | ^^^^ expected 1 lifetime argument 102 | 103note: associated type defined here, with 1 lifetime parameter: `'a` 104 --> $DIR/issue-105742.rs:51:10 105 | 106LL | type Item<'a, T>; 107 | ^^^^ -- 108help: add missing lifetime argument 109 | 110LL | Output = <Self as SVec>::Item> as SVec>::Item<'a>, 111 | ++++ 112 113error[E0107]: missing generics for associated type `SVec::Item` 114 --> $DIR/issue-105742.rs:33:46 115 | 116LL | Output = <Self as SVec>::Item> as SVec>::Item, 117 | ^^^^ expected 1 generic argument 118 | 119note: associated type defined here, with 1 generic parameter: `T` 120 --> $DIR/issue-105742.rs:51:10 121 | 122LL | type Item<'a, T>; 123 | ^^^^ - 124help: add missing generic argument 125 | 126LL | Output = <Self as SVec>::Item> as SVec>::Item<T>, 127 | +++ 128 129error[E0107]: missing generics for associated type `SVec::Item` 130 --> $DIR/issue-105742.rs:4:40 131 | 132LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) { 133 | ^^^^ expected 1 lifetime argument 134 | 135note: associated type defined here, with 1 lifetime parameter: `'a` 136 --> $DIR/issue-105742.rs:51:10 137 | 138LL | type Item<'a, T>; 139 | ^^^^ -- 140help: add missing lifetime argument 141 | 142LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item<'_> = T, Output = T>) { 143 | ++++ 144 145error[E0107]: missing generics for associated type `SVec::Item` 146 --> $DIR/issue-105742.rs:4:40 147 | 148LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) { 149 | ^^^^ expected 1 generic argument 150 | 151note: associated type defined here, with 1 generic parameter: `T` 152 --> $DIR/issue-105742.rs:51:10 153 | 154LL | type Item<'a, T>; 155 | ^^^^ - 156help: add missing generic argument 157 | 158LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item<T> = T, Output = T>) { 159 | +++ 160 161error[E0107]: missing generics for associated type `SVec::Item` 162 --> $DIR/issue-105742.rs:15:21 163 | 164LL | <Self as SVec>::Item, 165 | ^^^^ expected 1 lifetime argument 166 | 167note: associated type defined here, with 1 lifetime parameter: `'a` 168 --> $DIR/issue-105742.rs:51:10 169 | 170LL | type Item<'a, T>; 171 | ^^^^ -- 172help: add missing lifetime argument 173 | 174LL | <Self as SVec>::Item<'a>, 175 | ++++ 176 177error[E0107]: missing generics for associated type `SVec::Item` 178 --> $DIR/issue-105742.rs:15:21 179 | 180LL | <Self as SVec>::Item, 181 | ^^^^ expected 1 generic argument 182 | 183note: associated type defined here, with 1 generic parameter: `T` 184 --> $DIR/issue-105742.rs:51:10 185 | 186LL | type Item<'a, T>; 187 | ^^^^ - 188help: add missing generic argument 189 | 190LL | <Self as SVec>::Item<T>, 191 | +++ 192 193error[E0107]: missing generics for associated type `SVec::Item` 194 --> $DIR/issue-105742.rs:24:37 195 | 196LL | Output = <Index<<Self as SVec>::Item, 197 | ^^^^ expected 1 lifetime argument 198 | 199note: associated type defined here, with 1 lifetime parameter: `'a` 200 --> $DIR/issue-105742.rs:51:10 201 | 202LL | type Item<'a, T>; 203 | ^^^^ -- 204help: add missing lifetime argument 205 | 206LL | Output = <Index<<Self as SVec>::Item<'a>, 207 | ++++ 208 209error[E0107]: missing generics for associated type `SVec::Item` 210 --> $DIR/issue-105742.rs:24:37 211 | 212LL | Output = <Index<<Self as SVec>::Item, 213 | ^^^^ expected 1 generic argument 214 | 215note: associated type defined here, with 1 generic parameter: `T` 216 --> $DIR/issue-105742.rs:51:10 217 | 218LL | type Item<'a, T>; 219 | ^^^^ - 220help: add missing generic argument 221 | 222LL | Output = <Index<<Self as SVec>::Item<T>, 223 | +++ 224 225error[E0107]: missing generics for associated type `SVec::Item` 226 --> $DIR/issue-105742.rs:33:30 227 | 228LL | Output = <Self as SVec>::Item> as SVec>::Item, 229 | ^^^^ expected 1 lifetime argument 230 | 231note: associated type defined here, with 1 lifetime parameter: `'a` 232 --> $DIR/issue-105742.rs:51:10 233 | 234LL | type Item<'a, T>; 235 | ^^^^ -- 236help: add missing lifetime argument 237 | 238LL | Output = <Self as SVec>::Item<'a>> as SVec>::Item, 239 | ++++ 240 241error[E0107]: missing generics for associated type `SVec::Item` 242 --> $DIR/issue-105742.rs:33:30 243 | 244LL | Output = <Self as SVec>::Item> as SVec>::Item, 245 | ^^^^ expected 1 generic argument 246 | 247note: associated type defined here, with 1 generic parameter: `T` 248 --> $DIR/issue-105742.rs:51:10 249 | 250LL | type Item<'a, T>; 251 | ^^^^ - 252help: add missing generic argument 253 | 254LL | Output = <Self as SVec>::Item<T>> as SVec>::Item, 255 | +++ 256 257error[E0107]: missing generics for associated type `SVec::Item` 258 --> $DIR/issue-105742.rs:33:46 259 | 260LL | Output = <Self as SVec>::Item> as SVec>::Item, 261 | ^^^^ expected 1 lifetime argument 262 | 263note: associated type defined here, with 1 lifetime parameter: `'a` 264 --> $DIR/issue-105742.rs:51:10 265 | 266LL | type Item<'a, T>; 267 | ^^^^ -- 268help: add missing lifetime argument 269 | 270LL | Output = <Self as SVec>::Item> as SVec>::Item<'a>, 271 | ++++ 272 273error[E0107]: missing generics for associated type `SVec::Item` 274 --> $DIR/issue-105742.rs:33:46 275 | 276LL | Output = <Self as SVec>::Item> as SVec>::Item, 277 | ^^^^ expected 1 generic argument 278 | 279note: associated type defined here, with 1 generic parameter: `T` 280 --> $DIR/issue-105742.rs:51:10 281 | 282LL | type Item<'a, T>; 283 | ^^^^ - 284help: add missing generic argument 285 | 286LL | Output = <Self as SVec>::Item> as SVec>::Item<T>, 287 | +++ 288 289error[E0038]: the trait `SVec` cannot be made into an object 290 --> $DIR/issue-105742.rs:4:31 291 | 292LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) { 293 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SVec` cannot be made into an object 294 | 295note: 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:14:17 297 | 298LL | pub trait SVec: Index< 299 | ____________----__^ 300 | | | 301 | | this trait cannot be made into an object... 302LL | | <Self as SVec>::Item, 303LL | | 304LL | | 305... | 306LL | |/ Output = <Index<<Self as SVec>::Item, 307LL | || 308LL | || 309LL | || 310... || 311LL | || 312LL | || Output = <Self as SVec>::Item> as SVec>::Item, 313 | ||_________________________________________________^ ...because it uses `Self` as a type parameter 314... | 315LL | | 316LL | | > { 317 | |__^ ...because it uses `Self` as a type parameter 318 319error[E0107]: missing generics for associated type `SVec::Item` 320 --> $DIR/issue-105742.rs:15:21 321 | 322LL | <Self as SVec>::Item, 323 | ^^^^ expected 1 lifetime argument 324 | 325note: associated type defined here, with 1 lifetime parameter: `'a` 326 --> $DIR/issue-105742.rs:51:10 327 | 328LL | type Item<'a, T>; 329 | ^^^^ -- 330help: add missing lifetime argument 331 | 332LL | <Self as SVec>::Item<'a>, 333 | ++++ 334 335error[E0107]: missing generics for associated type `SVec::Item` 336 --> $DIR/issue-105742.rs:15:21 337 | 338LL | <Self as SVec>::Item, 339 | ^^^^ expected 1 generic argument 340 | 341note: associated type defined here, with 1 generic parameter: `T` 342 --> $DIR/issue-105742.rs:51:10 343 | 344LL | type Item<'a, T>; 345 | ^^^^ - 346help: add missing generic argument 347 | 348LL | <Self as SVec>::Item<T>, 349 | +++ 350 351error[E0107]: missing generics for associated type `SVec::Item` 352 --> $DIR/issue-105742.rs:24:37 353 | 354LL | Output = <Index<<Self as SVec>::Item, 355 | ^^^^ expected 1 lifetime argument 356 | 357note: associated type defined here, with 1 lifetime parameter: `'a` 358 --> $DIR/issue-105742.rs:51:10 359 | 360LL | type Item<'a, T>; 361 | ^^^^ -- 362help: add missing lifetime argument 363 | 364LL | Output = <Index<<Self as SVec>::Item<'a>, 365 | ++++ 366 367error[E0107]: missing generics for associated type `SVec::Item` 368 --> $DIR/issue-105742.rs:24:37 369 | 370LL | Output = <Index<<Self as SVec>::Item, 371 | ^^^^ expected 1 generic argument 372 | 373note: associated type defined here, with 1 generic parameter: `T` 374 --> $DIR/issue-105742.rs:51:10 375 | 376LL | type Item<'a, T>; 377 | ^^^^ - 378help: add missing generic argument 379 | 380LL | Output = <Index<<Self as SVec>::Item<T>, 381 | +++ 382 383error[E0107]: missing generics for associated type `SVec::Item` 384 --> $DIR/issue-105742.rs:33:30 385 | 386LL | Output = <Self as SVec>::Item> as SVec>::Item, 387 | ^^^^ expected 1 lifetime argument 388 | 389note: associated type defined here, with 1 lifetime parameter: `'a` 390 --> $DIR/issue-105742.rs:51:10 391 | 392LL | type Item<'a, T>; 393 | ^^^^ -- 394help: add missing lifetime argument 395 | 396LL | Output = <Self as SVec>::Item<'a>> as SVec>::Item, 397 | ++++ 398 399error[E0107]: missing generics for associated type `SVec::Item` 400 --> $DIR/issue-105742.rs:33:30 401 | 402LL | Output = <Self as SVec>::Item> as SVec>::Item, 403 | ^^^^ expected 1 generic argument 404 | 405note: associated type defined here, with 1 generic parameter: `T` 406 --> $DIR/issue-105742.rs:51:10 407 | 408LL | type Item<'a, T>; 409 | ^^^^ - 410help: add missing generic argument 411 | 412LL | Output = <Self as SVec>::Item<T>> as SVec>::Item, 413 | +++ 414 415error[E0107]: missing generics for associated type `SVec::Item` 416 --> $DIR/issue-105742.rs:33:46 417 | 418LL | Output = <Self as SVec>::Item> as SVec>::Item, 419 | ^^^^ expected 1 lifetime argument 420 | 421note: associated type defined here, with 1 lifetime parameter: `'a` 422 --> $DIR/issue-105742.rs:51:10 423 | 424LL | type Item<'a, T>; 425 | ^^^^ -- 426help: add missing lifetime argument 427 | 428LL | Output = <Self as SVec>::Item> as SVec>::Item<'a>, 429 | ++++ 430 431error[E0107]: missing generics for associated type `SVec::Item` 432 --> $DIR/issue-105742.rs:33:46 433 | 434LL | Output = <Self as SVec>::Item> as SVec>::Item, 435 | ^^^^ expected 1 generic argument 436 | 437note: associated type defined here, with 1 generic parameter: `T` 438 --> $DIR/issue-105742.rs:51:10 439 | 440LL | type Item<'a, T>; 441 | ^^^^ - 442help: add missing generic argument 443 | 444LL | Output = <Self as SVec>::Item> as SVec>::Item<T>, 445 | +++ 446 447error[E0107]: missing generics for associated type `SVec::Item` 448 --> $DIR/issue-105742.rs:53:38 449 | 450LL | fn len(&self) -> <Self as SVec>::Item; 451 | ^^^^ expected 1 lifetime argument 452 | 453note: associated type defined here, with 1 lifetime parameter: `'a` 454 --> $DIR/issue-105742.rs:51:10 455 | 456LL | type Item<'a, T>; 457 | ^^^^ -- 458help: add missing lifetime argument 459 | 460LL | fn len(&self) -> <Self as SVec>::Item<'_>; 461 | ++++ 462 463error[E0107]: missing generics for associated type `SVec::Item` 464 --> $DIR/issue-105742.rs:53:38 465 | 466LL | fn len(&self) -> <Self as SVec>::Item; 467 | ^^^^ expected 1 generic argument 468 | 469note: associated type defined here, with 1 generic parameter: `T` 470 --> $DIR/issue-105742.rs:51:10 471 | 472LL | type Item<'a, T>; 473 | ^^^^ - 474help: add missing generic argument 475 | 476LL | fn len(&self) -> <Self as SVec>::Item<T>; 477 | +++ 478 479error: aborting due to 29 previous errors 480 481Some errors have detailed explanations: E0038, E0107. 482For more information about an error, try `rustc --explain E0038`. 483