// run-pass
trait Trait {
    type Type;
}

impl<'a> Trait for &'a () {
    type Type = u32;
}

fn foo<'a>(t: <&'a () as Trait>::Type) -> <&'a () as Trait>::Type {
    t
}

fn main() {
    assert_eq!(foo(4), 4);
}
