about summary refs log tree commit diff
path: root/tests/ui/nll/closure-requirements/propagate-multiple-requirements.stderr
blob: 4136ac418deb4646b85aaecc44ef12ef7d7925ec (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
error[E0597]: `local_arr` does not live long enough
  --> $DIR/propagate-multiple-requirements.rs:15:14
   |
LL |     let local_arr = other_local_arr;
   |         --------- binding `local_arr` declared here
LL |     let mut out: &mut &'static [i32] = &mut (&[1] as _);
   |                  ------------------- type annotation requires that `local_arr` is borrowed for `'static`
LL |     once(|mut z: &[i32], mut out_val: &mut &[i32]| {
   |          ----------------------------------------- value captured here
...
LL |         z = &local_arr;
   |              ^^^^^^^^^ borrowed value does not live long enough
...
LL | }
   | - `local_arr` dropped here while still borrowed
   |
note: requirement that the value outlives `'static` introduced here
  --> $DIR/propagate-multiple-requirements.rs:4:21
   |
LL | fn once<S, T, U, F: FnOnce(S, T) -> U>(f: F, s: S, t: T) -> U {
   |                     ^^^^^^^^^^^^^^^^^

error: aborting due to 1 previous error

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