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