1extern crate poolite;
2use poolite::Pool;
3use std::io;
4
5fn main() {
7 into_inner();
8 println!(); println!("{:?}", into_error());
10}
11fn into_inner() {
12 let pool = match Pool::new() {
13 Ok(p) => p,
14 Err(e) => e.into_inner(),
15 };
16 for i in 0..38 {
17 pool.push(move || test(i));
18 }
19
20 pool.join(); }
22
23fn into_error() -> io::Result<()> {
24 let pool = Pool::new().map_err(|e| e.into_error())?;
25 for i in 0..38 {
26 pool.push(move || test(i));
27 }
28
29 pool.join(); Ok(())
32}
33
34fn test(msg: i32) {
35 println!("key: {}\tvalue: {}", msg, fib(msg));
36}
37
38fn fib(msg: i32) -> i32 {
39 match msg {
40 0...2 => 1,
41 x => fib(x - 1) + fib(x - 2),
42 }
43}