pub trait Map<K, V: Clone> {
// Required methods
fn with_capacity(cap: usize) -> Self;
fn get(&self, key: &K) -> Option<V>;
fn insert(&self, key: &K, value: V) -> Option<V>;
fn try_insert(&self, key: &K, value: V) -> Option<V>;
fn remove(&self, key: &K) -> Option<V>;
fn entries(&self) -> Vec<(K, V)>;
fn contains_key(&self, key: &K) -> bool;
fn len(&self) -> usize;
// Provided method
fn get_or_insert<F: Fn() -> V>(&self, key: &K, func: F) -> V { ... }
}
Required Methods§
fn with_capacity(cap: usize) -> Self
fn get(&self, key: &K) -> Option<V>
fn insert(&self, key: &K, value: V) -> Option<V>
fn try_insert(&self, key: &K, value: V) -> Option<V>
fn remove(&self, key: &K) -> Option<V>
fn entries(&self) -> Vec<(K, V)>
fn contains_key(&self, key: &K) -> bool
fn len(&self) -> usize
Provided Methods§
fn get_or_insert<F: Fn() -> V>(&self, key: &K, func: F) -> V
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.