error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D` --> $DIR/auto-trait.rs:21:1 | LL | impl AnotherTrait for T {} | -------------------------------- first implementation here ... LL | impl AnotherTrait for D { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `D` error: cannot implement trait on type alias impl trait --> $DIR/auto-trait.rs:21:25 | LL | impl AnotherTrait for D { | ^^^^^^^^^^ | note: type alias impl trait defined here --> $DIR/auto-trait.rs:7:19 | LL | type OpaqueType = impl OpaqueTrait; | ^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0119`.