moogle 0.4.4

data structures for relational code
1
2
3
4
5
6
7
8
use crate::id::IdLike;

use super::ViewSet;

pub(crate) trait EvictSet<'a, K: IdLike, V: IdLike>: ViewSet<'a, V> {
    fn insert(&mut self, v: V, on_evict: impl FnOnce(K, V)) -> Option<V>;  // return the evicted item if one was evicted
    fn remove(&mut self, v: V, on_evict: impl FnOnce(K, V)) -> Option<V>;
}