summaryrefslogtreecommitdiffstats
path: root/src/test/ui/regions/regions-bounded-method-type-parameters-trait-bound.stderr
blob: 0e0086be9ea8d588e72d9593cb85cc3d4f06171f (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/regions-bounded-method-type-parameters-trait-bound.rs:20:5
   |
LL | fn caller2<'a,'b,F:Foo<'a>>(a: Inv<'a>, b: Inv<'b>, f: F) {
   |            -- -- lifetime `'b` defined here
   |            |
   |            lifetime `'a` defined here
LL |     // Here the value provided for 'y is 'b, and hence 'b:'a does not hold.
LL |     f.method(b);
   |     ^^^^^^^^^^^ argument requires that `'b` must outlive `'a`
   |
   = help: consider adding the following bound: `'b: 'a`
   = note: requirement occurs because of the type `Inv<'_>`, which makes the generic argument `'_` invariant
   = note: the struct `Inv<'a>` is invariant over the parameter `'a`
   = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance

error: aborting due to previous error