warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes --> $DIR/specialization-overlap-projection.rs:10:12 | LL | #![feature(specialization)] | ^^^^^^^^^^^^^^ | = note: see issue #31844 for more information = help: consider using `min_specialization` instead, which is more stable and complete = note: `#[warn(incomplete_features)]` on by default error[E0119]: conflicting implementations of trait `Foo` for type `u32` --> $DIR/specialization-overlap-projection.rs:28:1 | LL | impl Foo for u32 {} | ---------------- first implementation here LL | impl Foo for ::Output {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `u32` error[E0119]: conflicting implementations of trait `Foo` for type `u32` --> $DIR/specialization-overlap-projection.rs:30:1 | LL | impl Foo for u32 {} | ---------------- first implementation here ... LL | impl Foo for ::Output {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `u32` error[E0282]: type annotations needed --> $DIR/specialization-overlap-projection.rs:17:27 | LL | default type Output = bool; | ^^^^ cannot infer type for associated type `::Output` error[E0282]: type annotations needed --> $DIR/specialization-overlap-projection.rs:21:35 | LL | impl Assoc for u8 { type Output = u8; } | ^^ cannot infer type for associated type `::Output` error[E0282]: type annotations needed --> $DIR/specialization-overlap-projection.rs:23:36 | LL | impl Assoc for u16 { type Output = u16; } | ^^^ cannot infer type for associated type `::Output` error: aborting due to 5 previous errors; 1 warning emitted Some errors have detailed explanations: E0119, E0282. For more information about an error, try `rustc --explain E0119`.