async-recursion 0.1.0

Recursion for async functions
Documentation
use async_recursion::async_recursion;
use futures_executor::block_on;

#[async_recursion]
#[doc("TESTING 12345")]
async fn fib(n : u32) -> u64 {
    match n {
        0     => panic!("zero is not a valid argument to fib()!"),
        1 | 2 => 1,
        3     => 2,
        _ => fib(n-1).await + fib(n-2).await
    }
}

#[test]
fn fibonacci_works() {
    assert_eq!(block_on(fib(3)), 2);
    assert_eq!(block_on(fib(4)), 3);
    assert_eq!(block_on(fib(5)), 5);
}