about summary refs log tree commit diff
path: root/src/libextra/arc.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-12-05 14:56:41 -0800
committerPatrick Walton <pcwalton@mimiga.net>2013-12-10 15:13:12 -0800
commit8c2ebe1622681c2a93a2fcf2673a5671fd110ead (patch)
treea19f92b2d86f6d64356cf4ddc34ff2d38038fad7 /src/libextra/arc.rs
parent9a6ebbbeccd926dc9eed1cfc34534bebb590ec75 (diff)
downloadrust-8c2ebe1622681c2a93a2fcf2673a5671fd110ead.tar.gz
rust-8c2ebe1622681c2a93a2fcf2673a5671fd110ead.zip
libextra: Remove various cells involved in `Arc`s.
I could have done this by making `Arc` use RAII, but this is too
involved for now.
Diffstat (limited to 'src/libextra/arc.rs')
-rw-r--r--src/libextra/arc.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/libextra/arc.rs b/src/libextra/arc.rs
index 58007e491da..005328c6934 100644
--- a/src/libextra/arc.rs
+++ b/src/libextra/arc.rs
@@ -597,7 +597,6 @@ mod tests {
 
     use arc::*;
 
-    use std::cell::Cell;
     use std::comm;
     use std::task;
 
@@ -628,7 +627,6 @@ mod tests {
         let arc = ~MutexArc::new(false);
         let arc2 = ~arc.clone();
         let (p,c) = comm::oneshot();
-        let c = Cell::new(c);
         do task::spawn {
             // wait until parent gets in
             p.recv();
@@ -638,8 +636,9 @@ mod tests {
             })
         }
 
+        let mut c = Some(c);
         arc.access_cond(|state, cond| {
-            c.take().send(());
+            c.take_unwrap().send(());
             assert!(!*state);
             while !*state {
                 cond.wait();