about summary refs log tree commit diff
path: root/src/libstd/future.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd/future.rs')
-rw-r--r--src/libstd/future.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libstd/future.rs b/src/libstd/future.rs
index eea9d56c975..37eb1e02a80 100644
--- a/src/libstd/future.rs
+++ b/src/libstd/future.rs
@@ -184,9 +184,9 @@ pub fn spawn<A:Owned>(blk: ~fn() -> A) -> Future<A> {
 #[allow(non_implicitly_copyable_typarams)]
 #[cfg(test)]
 mod test {
-
     use future::*;
 
+    use core::cell::Cell;
     use core::comm::{oneshot, send_one};
     use core::task;
 
@@ -239,8 +239,9 @@ mod test {
     #[test]
     fn test_sendable_future() {
         let expected = ~"schlorf";
-        let mut f = do spawn { copy expected };
-        do task::spawn || {
+        let f = Cell(do spawn { copy expected });
+        do task::spawn {
+            let mut f = f.take();
             let actual = f.get();
             assert!(actual == expected);
         }