view examples/trivial.rs @ 76:02996990927d

Update readme with SharedCache feature and thread local expansion
author Leodore <lconrads@ucsc.edu>
date Sun, 20 Mar 2022 23:27:47 -0700
parents 3ed9875b9139
children 868eb5c58450
line wrap: on
line source

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));
}