pub trait Cache {
type Item;
// Required methods
fn lookup(
&self,
key: &str,
) -> Option<impl Deref<Target = LookupStatus<Self::Item>>>;
fn store(&self, key: &str, value: Self::Item) -> Option<Self::Item>;
fn invalidate(&self, key: &str);
fn clear(&self);
// Provided methods
fn get(&self, key: &str) -> Option<Self::Item>
where Self::Item: Clone { ... }
fn get_or(&self, key: &str, or: Self::Item) -> Self::Item
where Self::Item: Clone { ... }
fn get_or_default(&self, key: &str) -> Self::Item
where Self::Item: Clone + Default { ... }
}
Required Associated Types§
Required Methods§
fn lookup( &self, key: &str, ) -> Option<impl Deref<Target = LookupStatus<Self::Item>>>
fn store(&self, key: &str, value: Self::Item) -> Option<Self::Item>
fn invalidate(&self, key: &str)
fn clear(&self)
Provided Methods§
fn get(&self, key: &str) -> Option<Self::Item>
fn get_or(&self, key: &str, or: Self::Item) -> Self::Item
fn get_or_default(&self, key: &str) -> Self::Item
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.