lru-cache-macros 0.3.1

A procedural macro for automatically caching the output of functions.
Documentation
#[test]
fn multiple_args() {
    use lru_cache_macros::lru_cache;

    #[lru_cache(200)]
    #[inline]
    fn ackermann(m: u64, n: u64) -> u64 {
        if m == 0 {
            n + 1
        } else if m > 0 && n == 0 {
            ackermann(m - 1, 1)
        } else {
            ackermann(m - 1, ackermann(m, n - 1))
        }
    }

    assert_eq!(ackermann(0, 0), 1);
    assert_eq!(ackermann(1, 0), 2);
    assert_eq!(ackermann(1, 1), 3);
    assert_eq!(ackermann(3, 2), 29);
}