1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// check-pass #![feature(associated_type_defaults)] pub struct Foo; pub trait Bar: From<<Self as Bar>::Input> { type Input = Self; } impl Bar for Foo { // Will compile with explicit type: // type Input = Self; } fn main() {}