pub trait RemoveMut<K: ?Sized>: CollectionMut {
type Output: ?Sized;
fn remove(&mut self, key: K) -> Self::Output;
}
impl<'a, K, Q: ?Sized, V, S> RemoveMut<&'a Q> for HashMap<K, V, S> where
K: Eq + Hash + Borrow<Q>,
Q: Eq + Hash,
S: BuildHasher, type Output = Option<V>;
impl<'a, K, Q: ?Sized, V> RemoveMut<&'a Q> for BTreeMap<K, V> where
K: Eq + Ord + Borrow<Q>,
Q: Eq + Ord, type Output = Option<V>;
impl<T> RemoveMut<usize> for LinkedList<T> type Output = T;
impl RemoveMut<usize> for String type Output = char;
impl<T> RemoveMut<usize> for Vec<T> type Output = T;