//@ 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);