error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:18:21
   |
LL |     <Self as SVec>::Item,
   |                     ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
help: add missing lifetime argument
   |
LL |     <Self as SVec>::Item<'a>,
   |                         ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:18:21
   |
LL |     <Self as SVec>::Item,
   |                     ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
help: add missing generic argument
   |
LL |     <Self as SVec>::Item<T>,
   |                         +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:29:37
   |
LL |     Output = <Index<<Self as SVec>::Item,
   |                                     ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
help: add missing lifetime argument
   |
LL |     Output = <Index<<Self as SVec>::Item<'a>,
   |                                         ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:29:37
   |
LL |     Output = <Index<<Self as SVec>::Item,
   |                                     ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
help: add missing generic argument
   |
LL |     Output = <Index<<Self as SVec>::Item<T>,
   |                                         +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:30
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                              ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
help: add missing lifetime argument
   |
LL |     Output = <Self as SVec>::Item<'a>> as SVec>::Item,
   |                                  ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:30
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                              ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
help: add missing generic argument
   |
LL |     Output = <Self as SVec>::Item<T>> as SVec>::Item,
   |                                  +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:46
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                                              ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
help: add missing lifetime argument
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item<'a>,
   |                                                  ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:46
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                                              ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
help: add missing generic argument
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item<T>,
   |                                                  +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:7:40
   |
LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
   |                                        ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
help: add missing lifetime argument
   |
LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item<'_> = T, Output = T>) {
   |                                            ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:7:40
   |
LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
   |                                        ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
help: add missing generic argument
   |
LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item<T> = T, Output = T>) {
   |                                            +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:18:21
   |
LL |     <Self as SVec>::Item,
   |                     ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     <Self as SVec>::Item<'a>,
   |                         ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:18:21
   |
LL |     <Self as SVec>::Item,
   |                     ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     <Self as SVec>::Item<T>,
   |                         +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:29:37
   |
LL |     Output = <Index<<Self as SVec>::Item,
   |                                     ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     Output = <Index<<Self as SVec>::Item<'a>,
   |                                         ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:29:37
   |
LL |     Output = <Index<<Self as SVec>::Item,
   |                                     ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     Output = <Index<<Self as SVec>::Item<T>,
   |                                         +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:30
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                              ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     Output = <Self as SVec>::Item<'a>> as SVec>::Item,
   |                                  ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:30
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                              ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     Output = <Self as SVec>::Item<T>> as SVec>::Item,
   |                                  +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:46
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                                              ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item<'a>,
   |                                                  ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:46
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                                              ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item<T>,
   |                                                  +++

error[E0038]: the trait `SVec` is not dyn compatible
  --> $DIR/ice-generic-type-alias-105742.rs:7:35
   |
LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ `SVec` is not dyn compatible
   |
note: for a trait to be dyn compatible it needs to allow building a vtable
      for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
  --> $DIR/ice-generic-type-alias-105742.rs:17:17
   |
LL |    pub trait SVec: Index<
   |  ____________----__^
   | |            |
   | |            this trait is not dyn compatible...
LL | |      <Self as SVec>::Item,
...  |
LL | |/     Output = <Index<<Self as SVec>::Item,
...  ||
LL | ||     Output = <Self as SVec>::Item> as SVec>::Item,
   | ||_________________________________________________^ ...because it uses `Self` as a type parameter
...  |
LL | |  > {
   | |__^ ...because it uses `Self` as a type parameter
help: consider using an opaque type instead
   |
LL - pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
LL + pub fn next<'a, T>(s: &'a mut impl SVec<Item = T, Output = T>) {
   |

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:18:21
   |
LL |     <Self as SVec>::Item,
   |                     ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     <Self as SVec>::Item<'a>,
   |                         ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:18:21
   |
LL |     <Self as SVec>::Item,
   |                     ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     <Self as SVec>::Item<T>,
   |                         +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:29:37
   |
LL |     Output = <Index<<Self as SVec>::Item,
   |                                     ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     Output = <Index<<Self as SVec>::Item<'a>,
   |                                         ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:29:37
   |
LL |     Output = <Index<<Self as SVec>::Item,
   |                                     ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     Output = <Index<<Self as SVec>::Item<T>,
   |                                         +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:30
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                              ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     Output = <Self as SVec>::Item<'a>> as SVec>::Item,
   |                                  ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:30
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                              ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     Output = <Self as SVec>::Item<T>> as SVec>::Item,
   |                                  +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:46
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                                              ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item<'a>,
   |                                                  ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:46
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                                              ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item<T>,
   |                                                  +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:18:21
   |
LL |     <Self as SVec>::Item,
   |                     ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     <Self as SVec>::Item<'a>,
   |                         ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:18:21
   |
LL |     <Self as SVec>::Item,
   |                     ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     <Self as SVec>::Item<T>,
   |                         +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:29:37
   |
LL |     Output = <Index<<Self as SVec>::Item,
   |                                     ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     Output = <Index<<Self as SVec>::Item<'a>,
   |                                         ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:29:37
   |
LL |     Output = <Index<<Self as SVec>::Item,
   |                                     ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     Output = <Index<<Self as SVec>::Item<T>,
   |                                         +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:30
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                              ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     Output = <Self as SVec>::Item<'a>> as SVec>::Item,
   |                                  ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:30
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                              ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     Output = <Self as SVec>::Item<T>> as SVec>::Item,
   |                                  +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:46
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                                              ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing lifetime argument
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item<'a>,
   |                                                  ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:40:46
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item,
   |                                              ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: add missing generic argument
   |
LL |     Output = <Self as SVec>::Item> as SVec>::Item<T>,
   |                                                  +++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:64:38
   |
LL |     fn len(&self) -> <Self as SVec>::Item;
   |                                      ^^^^ expected 1 lifetime argument
   |
note: associated type defined here, with 1 lifetime parameter: `'a`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^ --
help: add missing lifetime argument
   |
LL |     fn len(&self) -> <Self as SVec>::Item<'_>;
   |                                          ++++

error[E0107]: missing generics for associated type `SVec::Item`
  --> $DIR/ice-generic-type-alias-105742.rs:64:38
   |
LL |     fn len(&self) -> <Self as SVec>::Item;
   |                                      ^^^^ expected 1 generic argument
   |
note: associated type defined here, with 1 generic parameter: `T`
  --> $DIR/ice-generic-type-alias-105742.rs:62:10
   |
LL |     type Item<'a, T>;
   |          ^^^^     -
help: add missing generic argument
   |
LL |     fn len(&self) -> <Self as SVec>::Item<T>;
   |                                          +++

error: aborting due to 37 previous errors

Some errors have detailed explanations: E0038, E0107.
For more information about an error, try `rustc --explain E0038`.
