summaryrefslogtreecommitdiffstats
path: root/src/test/ui/closures/closure-expected-type/expect-region-supply-region-2.polonius.stderr
blob: 8846ccef34e2b2ed72b3b7575184a3cfd74e05d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
error: lifetime may not live long enough
  --> $DIR/expect-region-supply-region-2.rs:14:30
   |
LL | fn expect_bound_supply_named<'x>() {
   |                              -- lifetime `'x` defined here
...
LL |     closure_expecting_bound(|x: &'x u32| {
   |                              ^  - let's call the lifetime of this reference `'1`
   |                              |
   |                              requires that `'1` must outlive `'x`

error[E0521]: borrowed data escapes outside of closure
  --> $DIR/expect-region-supply-region-2.rs:20:9
   |
LL |     let mut f: Option<&u32> = None;
   |         ----- `f` declared here, outside of the closure body
...
LL |     closure_expecting_bound(|x: &'x u32| {
   |                              - `x` is a reference that is only valid in the closure body
...
LL |         f = Some(x);
   |         ^^^^^^^^^^^ `x` escapes the closure body here

error: lifetime may not live long enough
  --> $DIR/expect-region-supply-region-2.rs:14:30
   |
LL | fn expect_bound_supply_named<'x>() {
   |                              -- lifetime `'x` defined here
...
LL |     closure_expecting_bound(|x: &'x u32| {
   |                              ^ requires that `'x` must outlive `'static`
   |
   = help: consider replacing `'x` with `'static`

error: aborting due to 3 previous errors

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