smart-cache-macro 0.2.0

Procedural macros for smart-cache
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use smart_cache_macro::cached;

#[cached]
fn fibonacci(n: u64) -> u64 {
    match n {
        0 => 0,
        1 => 1,
        n => fibonacci(n - 1) + fibonacci(n - 2),
    }
}

fn main() {
    assert_eq!(fibonacci(5), 5);
    assert_eq!(fibonacci(5), 5); // Should hit cache
    assert_eq!(fibonacci(6), 8);
}