error: lifetime may not live long enough --> $DIR/ex2b-push-no-existing-names.rs:6:5 | LL | fn foo(x: &mut Vec>, y: Ref) { | - - has type `Ref<'1, i32>` | | | has type `&mut Vec>` LL | x.push(y); | ^^^^^^^^^ argument requires that `'1` must outlive `'2` | = note: requirement occurs because of a mutable reference to `Vec>` = note: mutable references are invariant over their type parameter = help: see for more information about variance help: consider introducing a named lifetime parameter | LL | fn foo<'a>(x: &mut Vec>, y: Ref<'a, i32>) { | ++++ +++ +++ error: aborting due to 1 previous error