]>
Commit | Line | Data |
---|---|---|
dfeec247 | 1 | note: external requirements |
0731742a | 2 | --> $DIR/escape-upvar-ref.rs:23:27 |
ff7c6d11 | 3 | | |
0531ce1d | 4 | LL | let mut closure = || p = &y; |
ff7c6d11 XL |
5 | | ^^^^^^^^^ |
6 | | | |
1b1a35ee | 7 | = note: defining type: test::{closure#0} with closure substs [ |
ff7c6d11 XL |
8 | i16, |
9 | extern "rust-call" fn(()), | |
5869c6ff | 10 | (&'_#1r mut &'_#2r i32, &'_#3r i32), |
ff7c6d11 XL |
11 | ] |
12 | = note: number of external vids: 4 | |
5869c6ff | 13 | = note: where '_#3r: '_#2r |
ff7c6d11 | 14 | |
dfeec247 | 15 | note: no external requirements |
0731742a | 16 | --> $DIR/escape-upvar-ref.rs:17:1 |
ff7c6d11 | 17 | | |
0531ce1d XL |
18 | LL | / fn test() { |
19 | LL | | let x = 44; | |
20 | LL | | let mut p = &x; | |
21 | LL | | | |
ff7c6d11 | 22 | ... | |
0531ce1d XL |
23 | LL | | deref(p); |
24 | LL | | } | |
ff7c6d11 XL |
25 | | |_^ |
26 | | | |
60c5eb7d | 27 | = note: defining type: test |
ff7c6d11 XL |
28 | |
29 | error[E0597]: `y` does not live long enough | |
0731742a | 30 | --> $DIR/escape-upvar-ref.rs:23:35 |
ff7c6d11 | 31 | | |
0531ce1d | 32 | LL | let mut closure = || p = &y; |
b7449926 XL |
33 | | -- ^ borrowed value does not live long enough |
34 | | | | |
35 | | value captured here | |
ff7c6d11 | 36 | ... |
0531ce1d | 37 | LL | } |
8faf50e0 | 38 | | - `y` dropped here while still borrowed |
0531ce1d XL |
39 | LL | |
40 | LL | deref(p); | |
ff7c6d11 | 41 | | - borrow later used here |
ff7c6d11 XL |
42 | |
43 | error: aborting due to previous error | |
44 | ||
0531ce1d | 45 | For more information about this error, try `rustc --explain E0597`. |