about summary refs log tree commit diff
path: root/src/libstd/workcache.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-02-26 11:32:00 -0800
committerPatrick Walton <pcwalton@mimiga.net>2013-02-27 09:40:15 -0800
commit8d7e6ef7725f8a11de940892a74398fc1911dfc7 (patch)
tree44e7cd64fac348be5c823db76cdd9a0738c3074d /src/libstd/workcache.rs
parent061a2237230d3abcdb30ecb8987e5de17e67a58e (diff)
downloadrust-8d7e6ef7725f8a11de940892a74398fc1911dfc7.tar.gz
rust-8d7e6ef7725f8a11de940892a74398fc1911dfc7.zip
libsyntax: Forbid `~mut` and `~const`. rs=demuting
Diffstat (limited to 'src/libstd/workcache.rs')
-rw-r--r--src/libstd/workcache.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libstd/workcache.rs b/src/libstd/workcache.rs
index 8ce68a41f81..d7ca766f183 100644
--- a/src/libstd/workcache.rs
+++ b/src/libstd/workcache.rs
@@ -15,6 +15,7 @@ use sha1;
 use serialize::{Encoder, Encodable, Decoder, Decodable};
 use sort;
 
+use core::cell::Cell;
 use core::cmp;
 use core::either::{Either, Left, Right};
 use core::io;
@@ -339,11 +340,11 @@ impl TPrep for @Mut<Prep> {
                     let mut blk = None;
                     blk <-> bo;
                     let blk = blk.unwrap();
-                    let chan = ~mut Some(chan);
+                    let chan = Cell(chan);
                     do task::spawn || {
                         let exe = Exec{discovered_inputs: LinearMap::new(),
                                        discovered_outputs: LinearMap::new()};
-                        let chan = option::swap_unwrap(&mut *chan);
+                        let chan = chan.take();
                         let v = blk(&exe);
                         send_one(chan, (exe, v));
                     }