use memoize::memoize; #[memoize] fn hello(arg: String, arg2: usize) -> bool { println!("{} => {}", arg, arg2); arg.len() % 2 == arg2 } fn main() { // `hello` is only called once here. assert!(!hello("World".to_string(), 0)); assert!(!hello("World".to_string(), 0)); // Sometimes one might need the original function. assert!(!memoized_original_hello("World".to_string(), 0)); memoized_flush_hello(); }