about summary refs log tree commit diff
path: root/tests/ui/lifetimes/lifetime-errors/ex2c-push-inference-variable.stderr
blob: 610a669cdedd3e7be22928568d8d01dbb215d397 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
error: lifetime may not live long enough
  --> $DIR/ex2c-push-inference-variable.rs:7:5
   |
LL | fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) {
   |            --  -- lifetime `'c` defined here
   |            |
   |            lifetime `'b` defined here
LL |     let z = Ref { data: y.data };
LL |     x.push(z);
   |     ^^^^^^^^^ argument requires that `'c` must outlive `'b`
   |
   = help: consider adding the following bound: `'c: 'b`
   = note: requirement occurs because of a mutable reference to `Vec<Ref<'_, i32>>`
   = note: mutable references are invariant over their type parameter
   = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance

error: aborting due to 1 previous error