error[E0505]: cannot move out of `v` because it is borrowed --> $DIR/borrowck-loan-blocks-move-cc.rs:14:19 | LL | let v: Box<_> = Box::new(3); | - binding `v` declared here LL | let w = &v; | -- borrow of `v` occurs here LL | thread::spawn(move|| { | ^^^^^^ move out of `v` occurs here LL | LL | println!("v={}", *v); | -- move occurs due to use in closure LL | }); LL | w.use_ref(); | - borrow later used here | help: consider cloning the value if the performance cost is acceptable | LL | let w = &v.clone(); | ++++++++ error[E0505]: cannot move out of `v` because it is borrowed --> $DIR/borrowck-loan-blocks-move-cc.rs:24:19 | LL | let v: Box<_> = Box::new(3); | - binding `v` declared here LL | let w = &v; | -- borrow of `v` occurs here LL | thread::spawn(move|| { | ^^^^^^ move out of `v` occurs here LL | LL | println!("v={}", *v); | -- move occurs due to use in closure LL | }); LL | w.use_ref(); | - borrow later used here | help: consider cloning the value if the performance cost is acceptable | LL | let w = &v.clone(); | ++++++++ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0505`.