1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
//@ run-pass trait ToRef<'a> { type Ref: 'a; } impl<'a, U: 'a> ToRef<'a> for U { type Ref = &'a U; } fn example<'a, T>(value: &'a T) -> (<T as ToRef<'a>>::Ref, u32) { (value, 0) } fn main() { example(&0); }