scope/
scope.rs

1extern crate poolite;
2use poolite::Pool;
3
4/// `cargo run --example without`
5fn main() {
6    let pool = Pool::new().unwrap();
7    let mut array = (0..38).into_iter().map(|i| (i, 0)).collect::<Vec<_>>();
8
9    pool.scoped(|scope| for i in array.iter_mut() {
10        scope.push(move|| i.1 = fib(i.0));
11    });
12    for (i, j) in array {
13        println!("key: {}\tvalue: {}", i, j);
14    }
15}
16
17fn fib(msg: i32) -> i32 {
18    match msg {
19        0...2 => 1,
20        x => fib(x - 1) + fib(x - 2),
21    }
22}