struct Ref<'a, T: 'a> { data: &'a T } fn foo(x: &mut Vec>, y: Ref) { x.push(y); //~^ ERROR lifetime may not live long enough } fn main() { }