error[E0119]: conflicting implementations of trait `Trait` --> $DIR/issue-84660-unsoundness.rs:31:1 | LL | impl Trait for Out { | ------------------------------------ first implementation here ... LL | impl Trait<(), In> for Out { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation error[E0282]: type annotations needed --> $DIR/issue-84660-unsoundness.rs:24:37 | LL | fn convert(_i: In) -> Self::Out { | _____________________________________^ LL | | LL | | LL | | unreachable!(); LL | | } | |_____^ cannot infer type error: aborting due to 2 previous errors Some errors have detailed explanations: E0119, E0282. For more information about an error, try `rustc --explain E0119`.