diff options
Diffstat (limited to 'src/iterator/consumed_guard.rs')
| -rw-r--r-- | src/iterator/consumed_guard.rs | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/src/iterator/consumed_guard.rs b/src/iterator/consumed_guard.rs deleted file mode 100644 index 5331289..0000000 --- a/src/iterator/consumed_guard.rs +++ /dev/null @@ -1,58 +0,0 @@ -use std::fmt::{Debug, Display}; -use std::hash::Hash; -use std::ops::{Deref, DerefMut}; - -use crate::iterator::ConsumedIteratorGuard; - -#[mutants::skip] // hashing involves RNG and is hard to test -#[cfg(not(tarpaulin_include))] -impl<Guard: Hash, Key> Hash for ConsumedIteratorGuard<Guard, Key> { - fn hash<H: std::hash::Hasher>(&self, state: &mut H) { - self.guard.hash(state) - } -} - -// No implementations of Eq, PartialEq, PartialOrd, or Ord -// You can't implement both PartialEq<Self> and PartialEq<T> -// It's easier to just implement neither and ask users to dereference -// This is less of a problem when using the scoped lock API - -#[mutants::skip] -#[cfg(not(tarpaulin_include))] -impl<Guard: Debug, Key> Debug for ConsumedIteratorGuard<Guard, Key> { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - Debug::fmt(&**self, f) - } -} - -impl<Guard: Display, Key> Display for ConsumedIteratorGuard<Guard, Key> { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - Display::fmt(&**self, f) - } -} - -impl<Guard, Key> Deref for ConsumedIteratorGuard<Guard, Key> { - type Target = Guard; - - fn deref(&self) -> &Self::Target { - &self.guard - } -} - -impl<Guard, Key> DerefMut for ConsumedIteratorGuard<Guard, Key> { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.guard - } -} - -impl<Guard, Key> AsRef<Guard> for ConsumedIteratorGuard<Guard, Key> { - fn as_ref(&self) -> &Guard { - &self.guard - } -} - -impl<Guard, Key> AsMut<Guard> for ConsumedIteratorGuard<Guard, Key> { - fn as_mut(&mut self) -> &mut Guard { - &mut self.guard - } -} |
