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}