Move task::task() to TaskBuilder::new()

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]
This commit is contained in:
Steven Fackler
2014-04-21 21:19:59 -07:00
parent 4401f88688
commit adeeadf49f
18 changed files with 61 additions and 61 deletions

View File

@@ -91,19 +91,17 @@ pub struct TaskBuilder {
nocopy: Option<marker::NoCopy>,
}
/**
* Generate the base configuration for spawning a task, off of which more
* configuration methods can be chained.
*/
pub fn task() -> TaskBuilder {
TaskBuilder {
opts: TaskOpts::new(),
gen_body: None,
nocopy: None,
}
}
impl TaskBuilder {
/// Generate the base configuration for spawning a task, off of which more
/// configuration methods can be chained.
pub fn new() -> TaskBuilder {
TaskBuilder {
opts: TaskOpts::new(),
gen_body: None,
nocopy: None,
}
}
/// Get a future representing the exit status of the task.
///
/// Taking the value of the future will block until the child task
@@ -233,22 +231,17 @@ impl TaskOpts {
/// Sets up a new task with its own call stack and schedules it to run
/// the provided unique closure.
///
/// This function is equivalent to `task().spawn(f)`.
/// This function is equivalent to `TaskBuilder::new().spawn(f)`.
pub fn spawn(f: proc():Send) {
let task = task();
task.spawn(f)
TaskBuilder::new().spawn(f)
}
/// Execute a function in another task and return either the return value of
/// the function or an error if the task failed
///
/// This is equivalent to TaskBuilder::new().try
pub fn try<T:Send>(f: proc():Send -> T) -> Result<T, ~Any:Send> {
/*!
* Execute a function in another task and return either the return value
* of the function or result::err.
*
* This is equivalent to task().try.
*/
let task = task();
task.try(f)
TaskBuilder::new().try(f)
}
@@ -298,7 +291,7 @@ fn test_unnamed_task() {
#[test]
fn test_owned_named_task() {
task().named("ada lovelace".to_owned()).spawn(proc() {
TaskBuilder::new().named("ada lovelace".to_owned()).spawn(proc() {
with_task_name(|name| {
assert!(name.unwrap() == "ada lovelace");
})
@@ -307,7 +300,7 @@ fn test_owned_named_task() {
#[test]
fn test_static_named_task() {
task().named("ada lovelace").spawn(proc() {
TaskBuilder::new().named("ada lovelace").spawn(proc() {
with_task_name(|name| {
assert!(name.unwrap() == "ada lovelace");
})
@@ -316,7 +309,7 @@ fn test_static_named_task() {
#[test]
fn test_send_named_task() {
task().named("ada lovelace".into_maybe_owned()).spawn(proc() {
TaskBuilder::new().named("ada lovelace".into_maybe_owned()).spawn(proc() {
with_task_name(|name| {
assert!(name.unwrap() == "ada lovelace");
})
@@ -326,7 +319,7 @@ fn test_send_named_task() {
#[test]
fn test_run_basic() {
let (tx, rx) = channel();
task().spawn(proc() {
TaskBuilder::new().spawn(proc() {
tx.send(());
});
rx.recv();
@@ -335,7 +328,7 @@ fn test_run_basic() {
#[test]
fn test_with_wrapper() {
let (tx, rx) = channel();
task().with_wrapper(proc(body) {
TaskBuilder::new().with_wrapper(proc(body) {
let result: proc():Send = proc() {
body();
tx.send(());
@@ -347,12 +340,12 @@ fn test_with_wrapper() {
#[test]
fn test_future_result() {
let mut builder = task();
let mut builder = TaskBuilder::new();
let result = builder.future_result();
builder.spawn(proc() {});
assert!(result.recv().is_ok());
let mut builder = task();
let mut builder = TaskBuilder::new();
let result = builder.future_result();
builder.spawn(proc() {
fail!();
@@ -362,7 +355,7 @@ fn test_future_result() {
#[test] #[should_fail]
fn test_back_to_the_future_result() {
let mut builder = task();
let mut builder = TaskBuilder::new();
builder.future_result();
builder.future_result();
}
@@ -445,7 +438,7 @@ fn test_avoid_copying_the_body_spawn() {
#[test]
fn test_avoid_copying_the_body_task_spawn() {
avoid_copying_the_body(|f| {
let builder = task();
let builder = TaskBuilder::new();
builder.spawn(proc() {
f();
});
@@ -471,11 +464,11 @@ fn test_child_doesnt_ref_parent() {
fn child_no(x: uint) -> proc():Send {
return proc() {
if x < generations {
task().spawn(child_no(x+1));
TaskBuilder::new().spawn(child_no(x+1));
}
}
}
task().spawn(child_no(0));
TaskBuilder::new().spawn(child_no(0));
}
#[test]