diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index f988cad50043..39f68ae59e84 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -33,7 +33,6 @@ //! These tasks are not parallelized (they haven't been a bottleneck yet), and //! both occur before the crate is rendered. -use std::cell::Cell; use std::comm::{SharedPort, SharedChan}; use std::comm; use std::fmt; @@ -814,9 +813,9 @@ impl Context { // recurse into the items of the module as well. clean::ModuleItem(..) => { let name = item.name.get_ref().to_owned(); - let item = Cell::new(item); + let mut item = Some(item); self.recurse(name, |this| { - let item = item.take(); + let item = item.take_unwrap(); let dst = this.dst.join("index.html"); render(File::create(&dst).unwrap(), this, &item, false); diff --git a/src/librustuv/net.rs b/src/librustuv/net.rs index 1e9c40443458..a3931f213ec0 100644 --- a/src/librustuv/net.rs +++ b/src/librustuv/net.rs @@ -646,7 +646,6 @@ impl Drop for UdpWatcher { #[cfg(test)] mod test { - use std::cell::Cell; use std::comm::oneshot; use std::rt::test::*; use std::rt::rtio::{RtioTcpStream, RtioTcpListener, RtioTcpAcceptor, @@ -1071,7 +1070,7 @@ mod test { let handle1 = sched1.make_handle(); let handle2 = sched2.make_handle(); - let tasksFriendHandle = Cell::new(sched2.make_handle()); + let tasksFriendHandle = sched2.make_handle(); let on_exit: proc(UnwindResult) = proc(exit_status) { handle1.send(Shutdown); @@ -1095,11 +1094,13 @@ mod test { // block self on sched1 let scheduler: ~Scheduler = Local::take(); + let mut tasksFriendHandle = Some(tasksFriendHandle); scheduler.deschedule_running_task_and_then(|_, task| { // unblock task task.wake().map(|task| { // send self to sched2 - tasksFriendHandle.take().send(TaskFromFriend(task)); + tasksFriendHandle.take_unwrap() + .send(TaskFromFriend(task)); }); // sched1 should now sleep since it has nothing else to do })