1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// check-pass fn f(_: X) -> X { unimplemented!() } fn g<'a>(_: X<'a>) -> X<'a> { unimplemented!() } type X<'a> = &'a (); fn main() { let _: for<'a> fn(X<'a>) -> X<'a> = g; let _: for<'a> fn(X<'a>) -> X<'a> = f; }