@@ -91,19 +91,17 @@ pub struct TaskBuilder {
91
91
nocopy : Option < marker:: NoCopy > ,
92
92
}
93
93
94
- /**
95
- * Generate the base configuration for spawning a task, off of which more
96
- * configuration methods can be chained.
97
- */
98
- pub fn task ( ) -> TaskBuilder {
99
- TaskBuilder {
100
- opts : TaskOpts :: new ( ) ,
101
- gen_body : None ,
102
- nocopy : None ,
94
+ impl TaskBuilder {
95
+ /// Generate the base configuration for spawning a task, off of which more
96
+ /// configuration methods can be chained.
97
+ pub fn new ( ) -> TaskBuilder {
98
+ TaskBuilder {
99
+ opts : TaskOpts :: new ( ) ,
100
+ gen_body : None ,
101
+ nocopy : None ,
102
+ }
103
103
}
104
- }
105
104
106
- impl TaskBuilder {
107
105
/// Get a future representing the exit status of the task.
108
106
///
109
107
/// Taking the value of the future will block until the child task
@@ -233,22 +231,17 @@ impl TaskOpts {
233
231
/// Sets up a new task with its own call stack and schedules it to run
234
232
/// the provided unique closure.
235
233
///
236
- /// This function is equivalent to `task ().spawn(f)`.
234
+ /// This function is equivalent to `TaskBuilder::new ().spawn(f)`.
237
235
pub fn spawn ( f : proc ( ) : Send ) {
238
- let task = task ( ) ;
239
- task. spawn ( f)
236
+ TaskBuilder :: new ( ) . spawn ( f)
240
237
}
241
238
239
+ /// Execute a function in another task and return either the return value of
240
+ /// the function or an error if the task failed
241
+ ///
242
+ /// This is equivalent to TaskBuilder::new().try
242
243
pub fn try < T : Send > ( f : proc ( ) : Send -> T ) -> Result < T , ~Any : Send > {
243
- /*!
244
- * Execute a function in another task and return either the return value
245
- * of the function or result::err.
246
- *
247
- * This is equivalent to task().try.
248
- */
249
-
250
- let task = task ( ) ;
251
- task. try ( f)
244
+ TaskBuilder :: new ( ) . try ( f)
252
245
}
253
246
254
247
@@ -298,7 +291,7 @@ fn test_unnamed_task() {
298
291
299
292
#[ test]
300
293
fn test_owned_named_task ( ) {
301
- task ( ) . named ( "ada lovelace" . to_owned ( ) ) . spawn ( proc ( ) {
294
+ TaskBuilder :: new ( ) . named ( "ada lovelace" . to_owned ( ) ) . spawn ( proc ( ) {
302
295
with_task_name ( |name| {
303
296
assert ! ( name. unwrap( ) == "ada lovelace" ) ;
304
297
} )
@@ -307,7 +300,7 @@ fn test_owned_named_task() {
307
300
308
301
#[ test]
309
302
fn test_static_named_task ( ) {
310
- task ( ) . named ( "ada lovelace" ) . spawn ( proc ( ) {
303
+ TaskBuilder :: new ( ) . named ( "ada lovelace" ) . spawn ( proc ( ) {
311
304
with_task_name ( |name| {
312
305
assert ! ( name. unwrap( ) == "ada lovelace" ) ;
313
306
} )
@@ -316,7 +309,7 @@ fn test_static_named_task() {
316
309
317
310
#[ test]
318
311
fn test_send_named_task ( ) {
319
- task ( ) . named ( "ada lovelace" . into_maybe_owned ( ) ) . spawn ( proc ( ) {
312
+ TaskBuilder :: new ( ) . named ( "ada lovelace" . into_maybe_owned ( ) ) . spawn ( proc ( ) {
320
313
with_task_name ( |name| {
321
314
assert ! ( name. unwrap( ) == "ada lovelace" ) ;
322
315
} )
@@ -326,7 +319,7 @@ fn test_send_named_task() {
326
319
#[ test]
327
320
fn test_run_basic ( ) {
328
321
let ( tx, rx) = channel ( ) ;
329
- task ( ) . spawn ( proc ( ) {
322
+ TaskBuilder :: new ( ) . spawn ( proc ( ) {
330
323
tx. send ( ( ) ) ;
331
324
} ) ;
332
325
rx. recv ( ) ;
@@ -335,7 +328,7 @@ fn test_run_basic() {
335
328
#[ test]
336
329
fn test_with_wrapper ( ) {
337
330
let ( tx, rx) = channel ( ) ;
338
- task ( ) . with_wrapper ( proc ( body) {
331
+ TaskBuilder :: new ( ) . with_wrapper ( proc ( body) {
339
332
let result: proc ( ) : Send = proc ( ) {
340
333
body ( ) ;
341
334
tx. send ( ( ) ) ;
@@ -347,12 +340,12 @@ fn test_with_wrapper() {
347
340
348
341
#[ test]
349
342
fn test_future_result ( ) {
350
- let mut builder = task ( ) ;
343
+ let mut builder = TaskBuilder :: new ( ) ;
351
344
let result = builder. future_result ( ) ;
352
345
builder. spawn ( proc ( ) { } ) ;
353
346
assert ! ( result. recv( ) . is_ok( ) ) ;
354
347
355
- let mut builder = task ( ) ;
348
+ let mut builder = TaskBuilder :: new ( ) ;
356
349
let result = builder. future_result ( ) ;
357
350
builder. spawn ( proc ( ) {
358
351
fail ! ( ) ;
@@ -362,7 +355,7 @@ fn test_future_result() {
362
355
363
356
#[ test] #[ should_fail]
364
357
fn test_back_to_the_future_result ( ) {
365
- let mut builder = task ( ) ;
358
+ let mut builder = TaskBuilder :: new ( ) ;
366
359
builder. future_result ( ) ;
367
360
builder. future_result ( ) ;
368
361
}
@@ -445,7 +438,7 @@ fn test_avoid_copying_the_body_spawn() {
445
438
#[ test]
446
439
fn test_avoid_copying_the_body_task_spawn ( ) {
447
440
avoid_copying_the_body ( |f| {
448
- let builder = task ( ) ;
441
+ let builder = TaskBuilder :: new ( ) ;
449
442
builder. spawn ( proc ( ) {
450
443
f ( ) ;
451
444
} ) ;
@@ -471,11 +464,11 @@ fn test_child_doesnt_ref_parent() {
471
464
fn child_no ( x : uint ) -> proc ( ) : Send {
472
465
return proc ( ) {
473
466
if x < generations {
474
- task ( ) . spawn ( child_no ( x+1 ) ) ;
467
+ TaskBuilder :: new ( ) . spawn ( child_no ( x+1 ) ) ;
475
468
}
476
469
}
477
470
}
478
- task ( ) . spawn ( child_no ( 0 ) ) ;
471
+ TaskBuilder :: new ( ) . spawn ( child_no ( 0 ) ) ;
479
472
}
480
473
481
474
#[ test]
0 commit comments