summaryrefslogtreecommitdiffstats
path: root/tests/ui/impl-trait/region-escape-via-bound.stderr
blob: 43f0eeeb55838281986707b13a8c0449cc8f3da1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
error[E0700]: hidden type for `impl Trait<'y>` captures lifetime that does not appear in bounds
  --> $DIR/region-escape-via-bound.rs:17:5
   |
LL | fn foo<'x, 'y>(x: Cell<&'x u32>) -> impl Trait<'y>
   |        --                           -------------- opaque type defined here
   |        |
   |        hidden type `Cell<&'x u32>` captures the lifetime `'x` as defined here
...
LL |     x
   |     ^
   |
help: to declare that `impl Trait<'y>` captures `'x`, you can add an explicit `'x` lifetime bound
   |
LL | fn foo<'x, 'y>(x: Cell<&'x u32>) -> impl Trait<'y> + 'x
   |                                                    ++++

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0700`.