about summary refs log tree commit diff
path: root/tests/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-impl-items.stderr
blob: 01bfe7829206d6610453023db1fc42714077818d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
error: lifetime may not live long enough
  --> $DIR/ex3-both-anon-regions-using-impl-items.rs:6:9
   |
LL |     fn foo(x: &mut Vec<&u8>, y: &u8) {
   |                        -        - let's call the lifetime of this reference `'1`
   |                        |
   |                        let's call the lifetime of this reference `'2`
LL |         x.push(y);
   |         ^^^^^^^^^ argument requires that `'1` must outlive `'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 and update trait if needed
   |
LL |     fn foo<'a>(x: &mut Vec<&'a u8>, y: &'a u8) {
   |           ++++              ++          ++

error: aborting due to 1 previous error