]>
git.proxmox.com Git - rustc.git/blob - src/test/run-pass/borrowck-preserve-box-in-field.rs
1 // Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 // exec-env:RUST_POISON_ON_FREE=1
13 fn borrow(x
: &int
, f
: &fn(x
: &int
)) {
17 assert
!(before
== after
);
23 let mut x
= @F {f: ~3}
;
24 do borrow(x
.f
) |b_x
| {
26 assert
!(ptr
::addr_of(&(*x
.f
)) == ptr
::addr_of(&(*b_x
)));
29 debug
!("ptr::addr_of(*b_x) = %x", ptr
::addr_of(&(*b_x
)) as uint
);
31 assert
!(ptr
::addr_of(&(*x
.f
)) != ptr
::addr_of(&(*b_x
)));