#![feature(generic_associated_types)] trait Foo { type Output; fn baz(); } enum Bar { Simple {}, Generic(T), } impl Foo for u8 { type Output = Bar; fn baz() { Self::Output::Simple {}; //~ ERROR type annotations needed } } fn main() {}