1 // check-pass
2 
3 // Before RFC 2532, normalizing a defaulted assoc. type didn't work at all,
4 // unless the impl in question overrides that type, which makes the default
5 // pointless.
6 
7 #![feature(associated_type_defaults)]
8 
9 trait Tr {
10     type Assoc = ();
11 }
12 
13 impl Tr for () {}
14 
f(thing: <() as Tr>::Assoc)15 fn f(thing: <() as Tr>::Assoc) {
16     let c: () = thing;
17 }
18 
main()19 fn main() {}
20