#![feature(type_alias_impl_trait)] type T = impl Sized; struct Foo; impl Into for Foo { //~^ ERROR conflicting implementations of trait `Into` for type `Foo` fn into(self) -> T { Foo } } fn main() { let _: T = Foo.into(); }