error[E0623]: lifetime mismatch --> $DIR/ex2c-push-inference-variable.rs:17:12 | LL | fn foo<'a, 'b, 'c>(x: &'a mut Vec>, y: Ref<'c, i32>) { | ------------ ------------ these two types are declared with different lifetimes... LL | let z = Ref { data: y.data }; LL | x.push(z); //~ ERROR lifetime mismatch | ^ ...but data from `y` flows into `x` here error: aborting due to previous error For more information about this error, try `rustc --explain E0623`.