]> git.lizzy.rs Git - rust.git/blob - src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.nll.stderr
Remove irrelevant message about drop order
[rust.git] / src / test / ui / unboxed-closures / unboxed-closures-failed-recursive-fn-1.nll.stderr
1 error[E0597]: `factorial` does not live long enough
2   --> $DIR/unboxed-closures-failed-recursive-fn-1.rs:25:17
3    |
4 LL |     let f = |x: u32| -> u32 {
5    |             --------------- value captured here
6 LL |         let g = factorial.as_ref().unwrap();
7    |                 ^^^^^^^^^ borrowed value does not live long enough
8 ...
9 LL | }
10    | -
11    | |
12    | `factorial` dropped here while still borrowed
13    | borrow later used here, when `factorial` is dropped
14
15 error[E0506]: cannot assign to `factorial` because it is borrowed
16   --> $DIR/unboxed-closures-failed-recursive-fn-1.rs:30:5
17    |
18 LL |     let f = |x: u32| -> u32 {
19    |             --------------- borrow of `factorial` occurs here
20 LL |         let g = factorial.as_ref().unwrap();
21    |                 --------- borrow occurs due to use in closure
22 ...
23 LL |     factorial = Some(Box::new(f));
24    |     ^^^^^^^^^
25    |     |
26    |     assignment to borrowed `factorial` occurs here
27    |     borrow later used here
28
29 error[E0597]: `factorial` does not live long enough
30   --> $DIR/unboxed-closures-failed-recursive-fn-1.rs:38:17
31    |
32 LL |     let f = |x: u32| -> u32 {
33    |             --------------- value captured here
34 LL |         //~^ ERROR closure may outlive the current function, but it borrows `factorial`
35 LL |         let g = factorial.as_ref().unwrap();
36    |                 ^^^^^^^^^ borrowed value does not live long enough
37 ...
38 LL | }
39    | - `factorial` dropped here while still borrowed
40    |
41    = note: borrowed value must be valid for the static lifetime...
42
43 error[E0506]: cannot assign to `factorial` because it is borrowed
44   --> $DIR/unboxed-closures-failed-recursive-fn-1.rs:42:5
45    |
46 LL |     let f = |x: u32| -> u32 {
47    |             --------------- borrow of `factorial` occurs here
48 LL |         //~^ ERROR closure may outlive the current function, but it borrows `factorial`
49 LL |         let g = factorial.as_ref().unwrap();
50    |                 --------- borrow occurs due to use in closure
51 ...
52 LL |     factorial = Some(Box::new(f));
53    |     ^^^^^^^^^ assignment to borrowed `factorial` occurs here
54    |
55    = note: borrowed value must be valid for the static lifetime...
56
57 error: aborting due to 4 previous errors
58
59 Some errors occurred: E0506, E0597.
60 For more information about an error, try `rustc --explain E0506`.