error[E0597]: `p` does not live long enough --> $DIR/borrowck-3.rs:13:29 | LL | let mut c = { | ----- borrow later stored here LL | let mut p = Point {x: "1".to_string(), y: "2".to_string() }; LL | || { | -- value captured here LL | let x = &mut p.x; LL | println!("{:?}", p); | ^ borrowed value does not live long enough ... LL | }; | - `p` dropped here while still borrowed error: aborting due to previous error For more information about this error, try `rustc --explain E0597`.