// check-pass #![feature(associated_type_defaults)] pub struct Foo; pub trait Bar: From<::Input> { type Input = Self; } impl Bar for Foo { // Will compile with explicit type: // type Input = Self; } fn main() {}