add a test that current fails b/c we do not preserve boxes
This commit is contained in:
parent
be48cd87dc
commit
efa2252cfc
22
src/test/run-pass/borrowck-preserve-box.rs
Normal file
22
src/test/run-pass/borrowck-preserve-box.rs
Normal file
@ -0,0 +1,22 @@
|
||||
// compile-flags:--borrowck=err
|
||||
// exec-env:RUST_POISON_ON_FREE=1
|
||||
|
||||
fn borrow(x: &int, f: fn(x: &int)) {
|
||||
let before = *x;
|
||||
f(x);
|
||||
let after = *x;
|
||||
assert before == after;
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut x = @3;
|
||||
borrow(x) {|b_x|
|
||||
assert *b_x == 3;
|
||||
assert ptr::addr_of(*x) == ptr::addr_of(*b_x);
|
||||
x = @22;
|
||||
|
||||
#debug["ptr::addr_of(*b_x) = %x", ptr::addr_of(*b_x) as uint];
|
||||
assert *b_x == 3;
|
||||
assert ptr::addr_of(*x) != ptr::addr_of(*b_x);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user