error[E0658]: trait aliases are experimental --> $DIR/generic-default-in-dyn.rs:1:1 | LL | trait SendEqAlias = PartialEq; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: see issue #41517 for more information = help: add `#![feature(trait_alias)]` to the crate attributes to enable = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date error[E0038]: the trait alias `SendEqAlias` is not dyn compatible --> $DIR/generic-default-in-dyn.rs:4:19 | LL | struct Foo(dyn SendEqAlias); | ^^^^^^^^^^^^^^ `SendEqAlias` is not dyn compatible | note: for a trait to be dyn compatible it needs to allow building a vtable for more information, visit --> $DIR/generic-default-in-dyn.rs:1:24 | LL | trait SendEqAlias = PartialEq; | ----------- ^^^^^^^^^ ...because it uses `Self` as a type parameter | | | this trait is not dyn compatible... error[E0038]: the trait alias `SendEqAlias` is not dyn compatible --> $DIR/generic-default-in-dyn.rs:7:19 | LL | struct Bar(dyn SendEqAlias, T); | ^^^^^^^^^^^^^^ `SendEqAlias` is not dyn compatible | note: for a trait to be dyn compatible it needs to allow building a vtable for more information, visit --> $DIR/generic-default-in-dyn.rs:1:24 | LL | trait SendEqAlias = PartialEq; | ----------- ^^^^^^^^^ ...because it uses `Self` as a type parameter | | | this trait is not dyn compatible... error: aborting due to 3 previous errors Some errors have detailed explanations: E0038, E0658. For more information about an error, try `rustc --explain E0038`.