2012-08-02 16:23:04 -05:00
|
|
|
import ptr::to_uint;
|
|
|
|
|
2012-05-23 23:47:11 -05:00
|
|
|
fn borrow(x: &int, f: fn(x: &int)) {
|
|
|
|
f(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
fn test1(x: @~int) {
|
|
|
|
// Right now, at least, this induces a copy of the unique pointer:
|
2012-06-30 18:19:07 -05:00
|
|
|
do borrow({*x}) |p| {
|
2012-05-23 23:47:11 -05:00
|
|
|
let x_a = ptr::addr_of(**x);
|
2012-08-02 16:23:04 -05:00
|
|
|
assert (x_a as uint) != to_uint(p);
|
2012-05-23 23:47:11 -05:00
|
|
|
assert unsafe{*x_a} == *p;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
test1(@~22);
|
|
|
|
}
|