Skip to content

Commit 0e750ad

Browse files
committed
auto merge of #13675 : sfackler/rust/taskbuilder-new, r=alexcrichton
The constructor for `TaskBuilder` is being changed to an associated function called `new` for consistency with the rest of the standard library. Closes #13666 [breaking-change]
2 parents 3d05e7f + adeeadf commit 0e750ad

18 files changed

+60
-60
lines changed

src/librustc/lib.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ use std::cmp;
5555
use std::io;
5656
use std::os;
5757
use std::str;
58-
use std::task;
58+
use std::task::TaskBuilder;
5959
use syntax::ast;
6060
use syntax::diagnostic::Emitter;
6161
use syntax::diagnostic;
@@ -374,7 +374,7 @@ pub fn monitor(f: proc():Send) {
374374
#[cfg(not(rtopt))]
375375
static STACK_SIZE: uint = 20000000; // 20MB
376376

377-
let mut task_builder = task::task().named("rustc");
377+
let mut task_builder = TaskBuilder::new().named("rustc");
378378

379379
// FIXME: Hacks on hacks. If the env is trying to override the stack size
380380
// then *don't* set it explicitly.

src/libstd/task.rs

+27-34
Original file line numberDiff line numberDiff line change
@@ -91,19 +91,17 @@ pub struct TaskBuilder {
9191
nocopy: Option<marker::NoCopy>,
9292
}
9393

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+
}
103103
}
104-
}
105104

106-
impl TaskBuilder {
107105
/// Get a future representing the exit status of the task.
108106
///
109107
/// Taking the value of the future will block until the child task
@@ -233,22 +231,17 @@ impl TaskOpts {
233231
/// Sets up a new task with its own call stack and schedules it to run
234232
/// the provided unique closure.
235233
///
236-
/// This function is equivalent to `task().spawn(f)`.
234+
/// This function is equivalent to `TaskBuilder::new().spawn(f)`.
237235
pub fn spawn(f: proc():Send) {
238-
let task = task();
239-
task.spawn(f)
236+
TaskBuilder::new().spawn(f)
240237
}
241238

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
242243
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)
252245
}
253246

254247

@@ -298,7 +291,7 @@ fn test_unnamed_task() {
298291

299292
#[test]
300293
fn test_owned_named_task() {
301-
task().named("ada lovelace".to_owned()).spawn(proc() {
294+
TaskBuilder::new().named("ada lovelace".to_owned()).spawn(proc() {
302295
with_task_name(|name| {
303296
assert!(name.unwrap() == "ada lovelace");
304297
})
@@ -307,7 +300,7 @@ fn test_owned_named_task() {
307300

308301
#[test]
309302
fn test_static_named_task() {
310-
task().named("ada lovelace").spawn(proc() {
303+
TaskBuilder::new().named("ada lovelace").spawn(proc() {
311304
with_task_name(|name| {
312305
assert!(name.unwrap() == "ada lovelace");
313306
})
@@ -316,7 +309,7 @@ fn test_static_named_task() {
316309

317310
#[test]
318311
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() {
320313
with_task_name(|name| {
321314
assert!(name.unwrap() == "ada lovelace");
322315
})
@@ -326,7 +319,7 @@ fn test_send_named_task() {
326319
#[test]
327320
fn test_run_basic() {
328321
let (tx, rx) = channel();
329-
task().spawn(proc() {
322+
TaskBuilder::new().spawn(proc() {
330323
tx.send(());
331324
});
332325
rx.recv();
@@ -335,7 +328,7 @@ fn test_run_basic() {
335328
#[test]
336329
fn test_with_wrapper() {
337330
let (tx, rx) = channel();
338-
task().with_wrapper(proc(body) {
331+
TaskBuilder::new().with_wrapper(proc(body) {
339332
let result: proc():Send = proc() {
340333
body();
341334
tx.send(());
@@ -347,12 +340,12 @@ fn test_with_wrapper() {
347340

348341
#[test]
349342
fn test_future_result() {
350-
let mut builder = task();
343+
let mut builder = TaskBuilder::new();
351344
let result = builder.future_result();
352345
builder.spawn(proc() {});
353346
assert!(result.recv().is_ok());
354347

355-
let mut builder = task();
348+
let mut builder = TaskBuilder::new();
356349
let result = builder.future_result();
357350
builder.spawn(proc() {
358351
fail!();
@@ -362,7 +355,7 @@ fn test_future_result() {
362355

363356
#[test] #[should_fail]
364357
fn test_back_to_the_future_result() {
365-
let mut builder = task();
358+
let mut builder = TaskBuilder::new();
366359
builder.future_result();
367360
builder.future_result();
368361
}
@@ -445,7 +438,7 @@ fn test_avoid_copying_the_body_spawn() {
445438
#[test]
446439
fn test_avoid_copying_the_body_task_spawn() {
447440
avoid_copying_the_body(|f| {
448-
let builder = task();
441+
let builder = TaskBuilder::new();
449442
builder.spawn(proc() {
450443
f();
451444
});
@@ -471,11 +464,11 @@ fn test_child_doesnt_ref_parent() {
471464
fn child_no(x: uint) -> proc():Send {
472465
return proc() {
473466
if x < generations {
474-
task().spawn(child_no(x+1));
467+
TaskBuilder::new().spawn(child_no(x+1));
475468
}
476469
}
477470
}
478-
task().spawn(child_no(0));
471+
TaskBuilder::new().spawn(child_no(0));
479472
}
480473

481474
#[test]

src/libsync/lock.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,7 @@ impl Barrier {
445445
mod tests {
446446
use std::comm::Empty;
447447
use std::task;
448+
use std::task::TaskBuilder;
448449

449450
use arc::Arc;
450451
use super::{Mutex, Barrier, RWLock};
@@ -614,7 +615,7 @@ mod tests {
614615
let mut children = Vec::new();
615616
for _ in range(0, 5) {
616617
let arc3 = arc.clone();
617-
let mut builder = task::task();
618+
let mut builder = TaskBuilder::new();
618619
children.push(builder.future_result());
619620
builder.spawn(proc() {
620621
let lock = arc3.read();

src/libtest/lib.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ use std::io;
6060
use std::os;
6161
use std::str;
6262
use std::strbuf::StrBuf;
63-
use std::task;
63+
use std::task::TaskBuilder;
6464

6565
// to be used by rustc to compile tests in libtest
6666
pub mod test {
@@ -961,7 +961,7 @@ pub fn run_test(force_ignore: bool,
961961
let mut reader = ChanReader::new(rx);
962962
let stdout = ChanWriter::new(tx.clone());
963963
let stderr = ChanWriter::new(tx);
964-
let mut task = task::task().named(match desc.name {
964+
let mut task = TaskBuilder::new().named(match desc.name {
965965
DynTestName(ref name) => name.clone().into_maybe_owned(),
966966
StaticTestName(name) => name.into_maybe_owned(),
967967
});

src/test/bench/msgsend-pipes-shared.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ extern crate time;
2323
use std::comm;
2424
use std::os;
2525
use std::task;
26+
use std::task::TaskBuilder;
2627
use std::uint;
2728

2829
fn move_out<T>(_x: T) {}
@@ -62,7 +63,7 @@ fn run(args: &[~str]) {
6263
let mut worker_results = Vec::new();
6364
for _ in range(0u, workers) {
6465
let to_child = to_child.clone();
65-
let mut builder = task::task();
66+
let mut builder = TaskBuilder::new();
6667
worker_results.push(builder.future_result());
6768
builder.spawn(proc() {
6869
for _ in range(0u, size / workers) {

src/test/bench/msgsend-pipes.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ extern crate time;
1818

1919
use std::os;
2020
use std::task;
21+
use std::task::TaskBuilder;
2122
use std::uint;
2223

2324
fn move_out<T>(_x: T) {}
@@ -56,7 +57,7 @@ fn run(args: &[~str]) {
5657
let mut worker_results = Vec::new();
5758
let from_parent = if workers == 1 {
5859
let (to_child, from_parent) = channel();
59-
let mut builder = task::task();
60+
let mut builder = TaskBuilder::new();
6061
worker_results.push(builder.future_result());
6162
builder.spawn(proc() {
6263
for _ in range(0u, size / workers) {
@@ -70,7 +71,7 @@ fn run(args: &[~str]) {
7071
let (to_child, from_parent) = channel();
7172
for _ in range(0u, workers) {
7273
let to_child = to_child.clone();
73-
let mut builder = task::task();
74+
let mut builder = TaskBuilder::new();
7475
worker_results.push(builder.future_result());
7576
builder.spawn(proc() {
7677
for _ in range(0u, size / workers) {

src/test/bench/shootout-pfib.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ extern crate time;
2424
use std::os;
2525
use std::result::{Ok, Err};
2626
use std::task;
27+
use std::task::TaskBuilder;
2728
use std::uint;
2829

2930
fn fib(n: int) -> int {
@@ -77,7 +78,7 @@ fn stress_task(id: int) {
7778
fn stress(num_tasks: int) {
7879
let mut results = Vec::new();
7980
for i in range(0, num_tasks) {
80-
let mut builder = task::task();
81+
let mut builder = TaskBuilder::new();
8182
results.push(builder.future_result());
8283
builder.spawn(proc() {
8384
stress_task(i);

src/test/run-fail/fail-task-name-owned.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010

1111
// error-pattern:task 'owned name' failed at 'test'
1212

13-
use std::task;
13+
use std::task::TaskBuilder;
1414

1515
fn main() {
16-
task::task().named("owned name".to_owned()).try(proc() {
16+
TaskBuilder::new().named("owned name".to_owned()).try(proc() {
1717
fail!("test");
1818
1
1919
}).unwrap()

src/test/run-fail/fail-task-name-send-str.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// error-pattern:task 'send name' failed at 'test'
1212

1313
fn main() {
14-
::std::task::task().named("send name".into_maybe_owned()).try(proc() {
14+
::std::task::TaskBuilder::new().named("send name".into_maybe_owned()).try(proc() {
1515
fail!("test");
1616
3
1717
}).unwrap()

src/test/run-fail/fail-task-name-static.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// error-pattern:task 'static name' failed at 'test'
1212

1313
fn main() {
14-
::std::task::task().named("static name").try(proc() {
14+
::std::task::TaskBuilder::new().named("static name").try(proc() {
1515
fail!("test");
1616
}).unwrap()
1717
}

src/test/run-pass/issue-2190-1.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
use std::task;
11+
use std::task::TaskBuilder;
1212

1313
static generations: uint = 1024+256+128+49;
1414

1515
fn spawn(f: proc():Send) {
16-
let mut t = task::task();
16+
let mut t = TaskBuilder::new();
1717
t.opts.stack_size = Some(32 * 1024);
1818
t.spawn(f);
1919
}

src/test/run-pass/spawning-with-debug.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313

1414
// regression test for issue #10405, make sure we don't call println! too soon.
1515

16-
use std::task;
16+
use std::task::TaskBuilder;
1717

1818
pub fn main() {
19-
let mut t = task::task();
19+
let mut t = TaskBuilder::new();
2020
t.spawn(proc() ());
2121
}

src/test/run-pass/task-comm-12.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@
99
// except according to those terms.
1010

1111
use std::task;
12+
use std::task::TaskBuilder;
1213

1314
pub fn main() { test00(); }
1415

1516
fn start(_task_number: int) { println!("Started / Finished task."); }
1617

1718
fn test00() {
1819
let i: int = 0;
19-
let mut builder = task::task();
20+
let mut builder = TaskBuilder::new();
2021
let mut result = builder.future_result();
2122
builder.spawn(proc() {
2223
start(i)

src/test/run-pass/task-comm-3.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
// except according to those terms.
1010

1111

12-
use std::task;
12+
use std::task::TaskBuilder;
1313

1414
pub fn main() { println!("===== WITHOUT THREADS ====="); test00(); }
1515

@@ -38,7 +38,7 @@ fn test00() {
3838
let mut results = Vec::new();
3939
while i < number_of_tasks {
4040
let tx = tx.clone();
41-
let mut builder = task::task();
41+
let mut builder = TaskBuilder::new();
4242
results.push(builder.future_result());
4343
builder.spawn({
4444
let i = i;

src/test/run-pass/task-comm-9.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
// except according to those terms.
1010

1111

12-
use std::task;
12+
use std::task::TaskBuilder;
1313

1414
pub fn main() { test00(); }
1515

@@ -24,7 +24,7 @@ fn test00() {
2424
let (tx, rx) = channel();
2525
let number_of_messages: int = 10;
2626

27-
let mut builder = task::task();
27+
let mut builder = TaskBuilder::new();
2828
let result = builder.future_result();
2929
builder.spawn(proc() {
3030
test00_start(&tx, number_of_messages);

src/test/run-pass/tcp-stress.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ extern crate rustuv;
2222
use std::io::net::ip::{Ipv4Addr, SocketAddr};
2323
use std::io::net::tcp::{TcpListener, TcpStream};
2424
use std::io::{Acceptor, Listener};
25-
use std::task;
25+
use std::task::TaskBuilder;
2626

2727
#[start]
2828
fn start(argc: int, argv: **u8) -> int {
@@ -61,7 +61,7 @@ fn main() {
6161
let (tx, rx) = channel();
6262
for _ in range(0, 1000) {
6363
let tx = tx.clone();
64-
let mut builder = task::task();
64+
let mut builder = TaskBuilder::new();
6565
builder.opts.stack_size = Some(32 * 1024);
6666
builder.spawn(proc() {
6767
match TcpStream::connect(addr) {

0 commit comments

Comments
 (0)