diff options
Diffstat (limited to 'src/test/run-pass/writealias.rs')
| -rw-r--r-- | src/test/run-pass/writealias.rs | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/test/run-pass/writealias.rs b/src/test/run-pass/writealias.rs index 7e2229e78ea..8f990e07015 100644 --- a/src/test/run-pass/writealias.rs +++ b/src/test/run-pass/writealias.rs @@ -9,15 +9,20 @@ // except according to those terms. +use std::unstable; - -// -*- rust -*- struct Point {x: int, y: int, z: int} fn f(p: &mut Point) { p.z = 13; } pub fn main() { - let mut x: Point = Point {x: 10, y: 11, z: 12}; - f(&mut x); - assert_eq!(x.z, 13); + unsafe { + let x = Some(unstable::sync::exclusive(true)); + match x { + Some(ref z) if z.with(|b| *b) => { + do z.with |b| { assert!(*b); } + }, + _ => fail!() + } + } } |
