The hardest way to implement memoization in Rust...
Lets imagine you have a function that implement Fibonacci sequence:
```rust fn fib(n: usize) -> usize { if n == 0 { 0 } else if n == 1 { 1 } else { fib(n - 1) + fib(n - 2) } }
fn main() { for i in 1..40 { println!("{}", fib(i)) } } ```
It gonna be change to:
```rust use memoires::Memoire;
// The two generics of Memoire
fn main() {
let mut fib_mem = Memoire::new(fib::
for i in 1..40 {
println!("{}", fib_mem.run(i))
}
} ```