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