]> git.lizzy.rs Git - rust.git/blob - src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr
Specify output filenames for compatibility with Windows
[rust.git] / src / test / ui / nll / closure-requirements / escape-upvar-nested.stderr
1 note: External requirements
2   --> $DIR/escape-upvar-nested.rs:31:32
3    |
4 31 |             let mut closure1 = || p = &y;
5    |                                ^^^^^^^^^
6    |
7    = note: defining type: DefId(0/1:10 ~ escape_upvar_nested[317d]::test[0]::{{closure}}[0]::{{closure}}[0]) with closure substs [
8                i16,
9                extern "rust-call" fn(()),
10                &'_#1r mut &'_#2r i32,
11                &'_#3r i32
12            ]
13    = note: number of external vids: 4
14    = note: where '_#3r: '_#2r
15
16 note: External requirements
17   --> $DIR/escape-upvar-nested.rs:30:27
18    |
19 30 |           let mut closure = || { //~ ERROR `y` does not live long enough [E0597]
20    |  ___________________________^
21 31 | |             let mut closure1 = || p = &y;
22 32 | |             closure1();
23 33 | |         };
24    | |_________^
25    |
26    = note: defining type: DefId(0/1:9 ~ escape_upvar_nested[317d]::test[0]::{{closure}}[0]) with closure substs [
27                i16,
28                extern "rust-call" fn(()),
29                &'_#1r mut &'_#2r i32,
30                &'_#3r i32
31            ]
32    = note: number of external vids: 4
33    = note: where '_#3r: '_#2r
34
35 note: No external requirements
36   --> $DIR/escape-upvar-nested.rs:23:1
37    |
38 23 | / fn test() {
39 24 | |     let x = 44;
40 25 | |     let mut p = &x;
41 26 | |
42 ...  |
43 38 | |     deref(p);
44 39 | | }
45    | |_^
46    |
47    = note: defining type: DefId(0/0:3 ~ escape_upvar_nested[317d]::test[0]) with substs []
48
49 error[E0597]: `y` does not live long enough
50   --> $DIR/escape-upvar-nested.rs:30:27
51    |
52 30 |           let mut closure = || { //~ ERROR `y` does not live long enough [E0597]
53    |  ___________________________^
54 31 | |             let mut closure1 = || p = &y;
55 32 | |             closure1();
56 33 | |         };
57    | |_________^ borrowed value does not live long enough
58 ...
59 36 |       }
60    |        - borrowed value only lives until here
61 37 | 
62 38 |       deref(p);
63    |             - borrow later used here
64    |
65    = note: borrowed value must be valid for lifetime '_#4r...
66
67 error: aborting due to previous error
68