]> git.lizzy.rs Git - rust.git/blob - src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr
rustc_mir: use nicer path printing for #[rustc_regions] NLL tests.
[rust.git] / src / test / ui / nll / closure-requirements / escape-upvar-ref.stderr
1 note: External requirements
2   --> $DIR/escape-upvar-ref.rs:23:27
3    |
4 LL |         let mut closure = || p = &y;
5    |                           ^^^^^^^^^
6    |
7    = note: defining type: test::{{closure}}#0 with closure substs [
8                i16,
9                extern "rust-call" fn(()),
10                &'_#1r i32,
11                &'_#2r mut &'_#3r i32,
12            ]
13    = note: number of external vids: 4
14    = note: where '_#1r: '_#3r
15
16 note: No external requirements
17   --> $DIR/escape-upvar-ref.rs:17:1
18    |
19 LL | / fn test() {
20 LL | |     let x = 44;
21 LL | |     let mut p = &x;
22 LL | |
23 ...  |
24 LL | |     deref(p);
25 LL | | }
26    | |_^
27    |
28    = note: defining type: test
29
30 error[E0597]: `y` does not live long enough
31   --> $DIR/escape-upvar-ref.rs:23:35
32    |
33 LL |         let mut closure = || p = &y;
34    |                           --      ^ borrowed value does not live long enough
35    |                           |
36    |                           value captured here
37 ...
38 LL |     }
39    |     - `y` dropped here while still borrowed
40 LL | 
41 LL |     deref(p);
42    |           - borrow later used here
43
44 error: aborting due to previous error
45
46 For more information about this error, try `rustc --explain E0597`.