| use std::thread; | |
| fn borrow<F>(v: &isize, f: F) where F: FnOnce(&isize) { | |
| f(v); | |
| } | |
| fn box_imm() { | |
| let v: Box<_> = Box::new(3); | |
| let w = &v; | |
| thread::spawn(move|| { | |
| //~^ ERROR cannot move out of `v` because it is borrowed | |
| println!("v={}", *v); | |
| }); | |
| w.use_ref(); | |
| } | |
| fn box_imm_explicit() { | |
| let v: Box<_> = Box::new(3); | |
| let w = &v; | |
| thread::spawn(move|| { | |
| //~^ ERROR cannot move | |
| println!("v={}", *v); | |
| }); | |
| w.use_ref(); | |
| } | |
| fn main() { | |
| } | |
| trait Fake { fn use_mut(&mut self) { } fn use_ref(&self) { } } | |
| impl<T> Fake for T { } |