diff --git a/src/test/run-pass/clone-with-exterior.rs b/src/test/run-pass/clone-with-exterior.rs index f0734e285b2..57c4f91142d 100644 --- a/src/test/run-pass/clone-with-exterior.rs +++ b/src/test/run-pass/clone-with-exterior.rs @@ -8,17 +8,21 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -//xfail-test - extern mod std; +use core::task::spawn; -fn f(x : @{a:int, b:int}) { - assert!((x.a == 10)); - assert!((x.b == 12)); +struct Pair { + a: int, + b: int } pub fn main() { - let z : @{a:int, b:int} = @{ a : 10, b : 12}; - let p = task::_spawn(bind f(z)); - task::join_id(p); + let z = ~Pair { a : 10, b : 12}; + + let f: ~fn() = || { + assert!((z.a == 10)); + assert!((z.b == 12)); + }; + + spawn(f); }