example/
example.rs

1use fn_map::FnMap;
2
3fn main() {
4    let map = FnMap::new();
5
6    fn one() -> i32 {
7        println!("one computed");
8        1
9    }
10    
11    let a = *map.get(|| map.get(one) + 1);
12    dbg!(a);
13    assert_eq!(a, 2);
14
15    let b = *map.get(|| map.get(one) + 1);
16    dbg!(b);
17    assert_eq!(b, 2);
18
19    let c = *map.get(one);
20    dbg!(c);
21    assert_eq!(c, 1);
22}