// check-pass

// Before RFC 2532, normalizing a defaulted assoc. type didn't work at all,
// unless the impl in question overrides that type, which makes the default
// pointless.

#![feature(associated_type_defaults)]

trait Tr {
    type Assoc = ();
}

impl Tr for () {}

fn f(thing: <() as Tr>::Assoc) {
    let c: () = thing;
}

fn main() {}
