rust/tests/ui/underscore-lifetime/underscore-lifetime-elison-...

21 lines
934 B
Plaintext

error: lifetime may not live long enough
--> $DIR/underscore-lifetime-elison-mismatch.rs:1:42
|
LL | fn foo(x: &mut Vec<&'_ u8>, y: &'_ u8) { x.push(y); }
| - - ^^^^^^^^^ argument requires that `'1` must outlive `'2`
| | |
| | let's call the lifetime of this reference `'1`
| let's call the lifetime of this reference `'2`
|
= note: requirement occurs because of a mutable reference to `Vec<&u8>`
= note: mutable references are invariant over their type parameter
= help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
help: consider introducing a named lifetime parameter
|
LL - fn foo(x: &mut Vec<&'_ u8>, y: &'_ u8) { x.push(y); }
LL + fn foo<'a>(x: &mut Vec<&'a u8>, y: &'a u8) { x.push(y); }
|
error: aborting due to 1 previous error