error: cannot implement trait on type alias impl trait --> $DIR/negative-reasoning.rs:19:25 | LL | impl AnotherTrait for D { | ^^^^^^^^^^ | note: type alias impl trait defined here --> $DIR/negative-reasoning.rs:7:19 | LL | type OpaqueType = impl OpaqueTrait; | ^^^^^^^^^^^^^^^^ error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D` --> $DIR/negative-reasoning.rs:19:1 | LL | impl AnotherTrait for T {} | ------------------------------------------- first implementation here ... LL | impl AnotherTrait for D { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `D` | = note: upstream crates may add a new impl of trait `std::fmt::Debug` for type `OpaqueType` in future versions error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0119`.