1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
trait Foo { type Output; fn baz() -> Self::Output; } fn needs_infer<T>() {} enum Bar { Variant {} } impl Foo for u8 { type Output = Bar; fn baz() -> Self::Output { needs_infer(); //~ ERROR type annotations needed Self::Output::Variant {} } } fn main() {}