| //@ run-pass | |
| fn borrow<F>(x: &isize, f: F) where F: FnOnce(&isize) { | |
| f(x) | |
| } | |
| fn test1(x: &Box<isize>) { | |
| borrow(&*(*x).clone(), |p| { | |
| let x_a = &**x as *const isize; | |
| assert!((x_a as usize) != (p as *const isize as usize)); | |
| assert_eq!(unsafe{*x_a}, *p); | |
| }) | |
| } | |
| pub fn main() { | |
| test1(&Box::new(22)); | |
| } |