join/
join.rs

1use procspawn::{self, spawn};
2
3fn main() {
4    procspawn::init();
5
6    let five = spawn(5, fibonacci);
7    let ten = spawn(10, fibonacci);
8    let thirty = spawn(30, fibonacci);
9    assert_eq!(five.join().unwrap(), 5);
10    assert_eq!(ten.join().unwrap(), 55);
11    assert_eq!(thirty.join().unwrap(), 832_040);
12    println!("Successfully calculated fibonacci values!");
13}
14
15fn fibonacci(n: u32) -> u32 {
16    if n <= 2 {
17        return 1;
18    }
19    fibonacci(n - 1) + fibonacci(n - 2)
20}