1 note: External requirements
2 --> $DIR/escape-upvar-ref.rs:33:27
4 LL | let mut closure = || p = &y;
7 = note: defining type: DefId(0/1:9 ~ escape_upvar_ref[317d]::test[0]::{{closure}}[0]) with closure substs [
9 extern "rust-call" fn(()),
10 &'_#1r mut &'_#2r i32,
13 = note: number of external vids: 4
14 = note: where '_#3r: '_#2r
16 note: No external requirements
17 --> $DIR/escape-upvar-ref.rs:27:1
21 LL | | let mut p = &x;
28 = note: defining type: DefId(0/0:3 ~ escape_upvar_ref[317d]::test[0]) with substs []
30 error[E0597]: `y` does not live long enough
31 --> $DIR/escape-upvar-ref.rs:33:27
33 LL | let mut closure = || p = &y;
34 | ^^^^^^^^^ borrowed value does not live long enough
37 | - borrowed value only lives until here
40 | - borrow later used here
42 error: aborting due to previous error
44 For more information about this error, try `rustc --explain E0597`.