use std::borrow::Borrow; | |
pub trait Equivalent<K: ?Sized> { | |
fn equivalent(&self, key: &K) -> bool; | |
} | |
impl<Q: ?Sized, K: ?Sized> Equivalent<K> for Q | |
where | |
Q: Eq, | |
K: Borrow<Q>, | |
{ | |
fn equivalent(&self, key: &K) -> bool { | |
PartialEq::eq(self, key.borrow()) | |
} | |
} |