about summary refs log tree commit diff
path: root/src/libstd/task.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd/task.rs')
-rw-r--r--src/libstd/task.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libstd/task.rs b/src/libstd/task.rs
index 4824a956107..3b573b87574 100644
--- a/src/libstd/task.rs
+++ b/src/libstd/task.rs
@@ -176,7 +176,10 @@ impl TaskBuilder {
             Some(gen) => gen(f),
             None => f
         };
-        let t: Box<Task> = Local::take();
+        let t: Box<Task> = match Local::try_take() {
+            Some(t) => t,
+            None => fail!("need a local task to spawn a new task"),
+        };
         t.spawn_sibling(self.opts, f);
     }