about summary refs log tree commit diff
path: root/src/libstd/unstable
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd/unstable')
-rw-r--r--src/libstd/unstable/mod.rs4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/libstd/unstable/mod.rs b/src/libstd/unstable/mod.rs
index 63528036ffa..f8e2ea54f44 100644
--- a/src/libstd/unstable/mod.rs
+++ b/src/libstd/unstable/mod.rs
@@ -37,15 +37,13 @@ The executing thread has no access to a task pointer and will be using
 a normal large stack.
 */
 pub fn run_in_bare_thread(f: proc()) {
-    use cell::Cell;
     use rt::thread::Thread;
 
-    let f_cell = Cell::new(f);
     let (port, chan) = comm::stream();
     // FIXME #4525: Unfortunate that this creates an extra scheduler but it's
     // necessary since rust_raw_thread_join is blocking
     do task::spawn_sched(task::SingleThreaded) {
-        Thread::start(f_cell.take()).join();
+        Thread::start(f).join();
         chan.send(());
     }
     port.recv();