about summary refs log tree commit diff
path: root/tests/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr
blob: 303fcd4cdfcf38269bf83d58e563f860403bb2a8 (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
38
39
40
41
42
43
44
45
46
47
note: external requirements
  --> $DIR/propagate-approximated-shorter-to-static-wrong-bound.rs:35:47
   |
LL |     establish_relationships(&cell_a, &cell_b, |_outlives1, _outlives2, x, y| {
   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: defining type: supply::{closure#0} with closure args [
               i16,
               for<Region(BrAnon), Region(BrAnon), Region(BrAnon), Region(BrAnon), Region(BrAnon), Region(BrAnon)> extern "rust-call" fn((&'^0 std::cell::Cell<&'?1 &'^1 u32>, &'^2 std::cell::Cell<&'?2 &'^3 u32>, &'^4 std::cell::Cell<&'^1 u32>, &'^5 std::cell::Cell<&'^3 u32>)),
               (),
           ]
   = note: late-bound region is '?5
   = note: late-bound region is '?6
   = note: late-bound region is '?7
   = note: late-bound region is '?8
   = note: late-bound region is '?9
   = note: late-bound region is '?10
   = note: late-bound region is '?3
   = note: late-bound region is '?4
   = note: number of external vids: 5
   = note: where '?1: '?0

note: no external requirements
  --> $DIR/propagate-approximated-shorter-to-static-wrong-bound.rs:34:1
   |
LL | fn supply<'a, 'b>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>) {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: defining type: supply

error[E0521]: borrowed data escapes outside of function
  --> $DIR/propagate-approximated-shorter-to-static-wrong-bound.rs:37:9
   |
LL | fn supply<'a, 'b>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>) {
   |           --      ------ `cell_a` is a reference that is only valid in the function body
   |           |
   |           lifetime `'a` defined here
...
LL |         demand_y(x, y, x.get())
   |         ^^^^^^^^^^^^^^^^^^^^^^^
   |         |
   |         `cell_a` escapes the function body here
   |         argument requires that `'a` must outlive `'static`

error: aborting due to 1 previous error

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