1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
fn borrow<F>(v: &isize, f: F) where F: FnOnce(&isize) { f(v); } fn box_imm() { let mut v: Box<_> = Box::new(3); borrow(&*v, |w| { //~ ERROR cannot borrow `v` as mutable v = Box::new(4); assert_eq!(*v, 3); assert_eq!(*w, 4); }) } fn main() { }