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