1extern crate parallel_iterator;
2
3use parallel_iterator::ParallelIterator;
4
5fn do_some_work(i: usize, out: &mut Vec<usize>) {
6 for j in 0..i {
7 out.push(j); }
9}
10
11fn main() {
12 const MAX: usize = 1000;
13 let xform_ctor = || {
14 let mut buffer = Vec::with_capacity(MAX);
15 move |i| {
16 buffer.clear(); do_some_work(i, &mut buffer);
18 buffer.last().map(|u| *u) }
20 };
21 for i in ParallelIterator::new(|| (0..MAX), xform_ctor) {
22 match i {
23 Some(i) => println!("Got Some({})!", i),
24 None => println!("Got None!"),
25 }
26 }
27}