error[E0597]: `books` does not live long enough --> $DIR/borrowck-escaping-closure-error-2.rs:21:17 | LL | Box::new(|| books.push(4)) | -- ^^^^^ borrowed value does not live long enough | | | value captured here LL | //~^ ERROR E0373 LL | } | - `books` dropped here while still borrowed | note: borrowed value must be valid for the lifetime 'a as defined on the function body at 19:8... --> $DIR/borrowck-escaping-closure-error-2.rs:19:8 | LL | fn foo<'a>(x: &'a i32) -> Box { | ^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0597`.