@@ -129,15 +129,15 @@ impl GreenTask {
129129 /// and will not have any contained Task structure.
130130 pub fn new ( stack_pool : & mut StackPool ,
131131 stack_size : Option < uint > ,
132- start : proc ( ) ) -> ~GreenTask {
132+ start : proc ( ) : Send ) -> ~GreenTask {
133133 GreenTask :: new_homed ( stack_pool, stack_size, AnySched , start)
134134 }
135135
136136 /// Creates a new task (like `new`), but specifies the home for new task.
137137 pub fn new_homed ( stack_pool : & mut StackPool ,
138138 stack_size : Option < uint > ,
139139 home : Home ,
140- start : proc ( ) ) -> ~GreenTask {
140+ start : proc ( ) : Send ) -> ~GreenTask {
141141 // Allocate ourselves a GreenTask structure
142142 let mut ops = GreenTask :: new_typed ( None , TypeGreen ( Some ( home) ) ) ;
143143
@@ -175,7 +175,7 @@ impl GreenTask {
175175 /// new stack for this task.
176176 pub fn configure ( pool : & mut StackPool ,
177177 opts : TaskOpts ,
178- f : proc ( ) ) -> ~GreenTask {
178+ f : proc ( ) : Send ) -> ~GreenTask {
179179 let TaskOpts {
180180 notify_chan, name, stack_size,
181181 stderr, stdout,
@@ -443,7 +443,7 @@ impl Runtime for GreenTask {
443443 }
444444 }
445445
446- fn spawn_sibling ( mut ~self , cur_task : ~Task , opts : TaskOpts , f : proc ( ) ) {
446+ fn spawn_sibling ( mut ~self , cur_task : ~Task , opts : TaskOpts , f : proc ( ) : Send ) {
447447 self . put_task ( cur_task) ;
448448
449449 // Spawns a task into the current scheduler. We allocate the new task's
@@ -490,7 +490,7 @@ mod tests {
490490 use super :: super :: { PoolConfig , SchedPool } ;
491491 use super :: GreenTask ;
492492
493- fn spawn_opts ( opts : TaskOpts , f : proc ( ) ) {
493+ fn spawn_opts ( opts : TaskOpts , f : proc ( ) : Send ) {
494494 let mut pool = SchedPool :: new ( PoolConfig {
495495 threads : 1 ,
496496 event_loop_factory : :: rustuv:: event_loop,
0 commit comments