// compile-flags: -Ztrait-solver=next #![feature(specialization)] //~^ WARN the feature `specialization` is incomplete trait Default { type Id; fn intu(&self) -> &Self::Id; } impl Default for T { default type Id = T; //~ ERROR type annotations needed // This will be fixed by #111994 fn intu(&self) -> &Self::Id { //~ ERROR type annotations needed self } } fn transmute, U: Copy>(t: T) -> U { *t.intu() } use std::num::NonZeroU8; fn main() { let s = transmute::>(0); // this call should then error assert_eq!(s, None); }