summaryrefslogtreecommitdiff
path: root/src/iterator/consumed_guard.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/iterator/consumed_guard.rs')
-rw-r--r--src/iterator/consumed_guard.rs58
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
- }
-}