diff options
| author | bors <bors@rust-lang.org> | 2014-04-18 11:41:23 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-04-18 11:41:23 -0700 |
| commit | d1d8497e53af86687e701eea0fe2a41b0c4313eb (patch) | |
| tree | ac2ffc0405647555976c3b6b90e98a4e9398eb11 /src/doc | |
| parent | ce2bab68d69ee04e17c0165dbdb7b583d5a7c991 (diff) | |
| parent | 675b82657e7d9fd4c824ff3c6dbead1edd1ab515 (diff) | |
| download | rust-d1d8497e53af86687e701eea0fe2a41b0c4313eb.tar.gz rust-d1d8497e53af86687e701eea0fe2a41b0c4313eb.zip | |
auto merge of #13588 : alexcrichton/rust/no-more-growing, r=thestinger
This is all in preparation for DST. This removes all the growable/shrinkable methods from `~[T]`.
Diffstat (limited to 'src/doc')
| -rw-r--r-- | src/doc/guide-tasks.md | 26 | ||||
| -rw-r--r-- | src/doc/tutorial.md | 8 |
2 files changed, 14 insertions, 20 deletions
diff --git a/src/doc/guide-tasks.md b/src/doc/guide-tasks.md index 2ffa4529f08..5dd58ccb61d 100644 --- a/src/doc/guide-tasks.md +++ b/src/doc/guide-tasks.md @@ -255,10 +255,9 @@ might look like the example below. ~~~ # use std::task::spawn; -# use std::slice; // Create a vector of ports, one for each child task -let rxs = slice::from_fn(3, |init_val| { +let rxs = Vec::from_fn(3, |init_val| { let (tx, rx) = channel(); spawn(proc() { tx.send(some_expensive_computation(init_val)); @@ -304,7 +303,6 @@ be distributed on the available cores. ~~~ # extern crate sync; -# use std::slice; fn partial_sum(start: uint) -> f64 { let mut local_sum = 0f64; for num in range(start*100000, (start+1)*100000) { @@ -314,7 +312,7 @@ fn partial_sum(start: uint) -> f64 { } fn main() { - let mut futures = slice::from_fn(1000, |ind| sync::Future::spawn( proc() { partial_sum(ind) })); + let mut futures = Vec::from_fn(1000, |ind| sync::Future::spawn( proc() { partial_sum(ind) })); let mut final_res = 0f64; for ft in futures.mut_iter() { @@ -342,15 +340,14 @@ a single large vector of floats. Each task needs the full vector to perform its extern crate rand; extern crate sync; -use std::slice; use sync::Arc; -fn pnorm(nums: &~[f64], p: uint) -> f64 { +fn pnorm(nums: &[f64], p: uint) -> f64 { nums.iter().fold(0.0, |a,b| a+(*b).powf(&(p as f64)) ).powf(&(1.0 / (p as f64))) } fn main() { - let numbers = slice::from_fn(1000000, |_| rand::random::<f64>()); + let numbers = Vec::from_fn(1000000, |_| rand::random::<f64>()); let numbers_arc = Arc::new(numbers); for num in range(1u, 10) { @@ -358,9 +355,9 @@ fn main() { tx.send(numbers_arc.clone()); spawn(proc() { - let local_arc : Arc<~[f64]> = rx.recv(); + let local_arc : Arc<Vec<f64>> = rx.recv(); let task_numbers = &*local_arc; - println!("{}-norm = {}", num, pnorm(task_numbers, num)); + println!("{}-norm = {}", num, pnorm(task_numbers.as_slice(), num)); }); } } @@ -374,9 +371,8 @@ created by the line # extern crate sync; # extern crate rand; # use sync::Arc; -# use std::slice; # fn main() { -# let numbers = slice::from_fn(1000000, |_| rand::random::<f64>()); +# let numbers = Vec::from_fn(1000000, |_| rand::random::<f64>()); let numbers_arc=Arc::new(numbers); # } ~~~ @@ -387,9 +383,8 @@ and a clone of it is sent to each task # extern crate sync; # extern crate rand; # use sync::Arc; -# use std::slice; # fn main() { -# let numbers=slice::from_fn(1000000, |_| rand::random::<f64>()); +# let numbers=Vec::from_fn(1000000, |_| rand::random::<f64>()); # let numbers_arc = Arc::new(numbers); # let (tx, rx) = channel(); tx.send(numbers_arc.clone()); @@ -404,13 +399,12 @@ Each task recovers the underlying data by # extern crate sync; # extern crate rand; # use sync::Arc; -# use std::slice; # fn main() { -# let numbers=slice::from_fn(1000000, |_| rand::random::<f64>()); +# let numbers=Vec::from_fn(1000000, |_| rand::random::<f64>()); # let numbers_arc=Arc::new(numbers); # let (tx, rx) = channel(); # tx.send(numbers_arc.clone()); -# let local_arc : Arc<~[f64]> = rx.recv(); +# let local_arc : Arc<Vec<f64>> = rx.recv(); let task_numbers = &*local_arc; # } ~~~ diff --git a/src/doc/tutorial.md b/src/doc/tutorial.md index b52e1abc1a3..336f296ba25 100644 --- a/src/doc/tutorial.md +++ b/src/doc/tutorial.md @@ -1582,12 +1582,12 @@ the elements are mutable if the vector is mutable. use std::strbuf::StrBuf; // A dynamically sized vector (unique vector) -let mut numbers = ~[1, 2, 3]; +let mut numbers = vec![1, 2, 3]; numbers.push(4); numbers.push(5); // The type of a unique vector is written as `~[int]` -let more_numbers: ~[int] = numbers; +let more_numbers: ~[int] = numbers.move_iter().collect(); // The original `numbers` value can no longer be used, due to move semantics. @@ -1955,8 +1955,8 @@ vector consisting of the result of applying `function` to each element of `vector`: ~~~~ -fn map<T, U>(vector: &[T], function: |v: &T| -> U) -> ~[U] { - let mut accumulator = ~[]; +fn map<T, U>(vector: &[T], function: |v: &T| -> U) -> Vec<U> { + let mut accumulator = Vec::new(); for element in vector.iter() { accumulator.push(function(element)); } |
