diff --git a/traversable/src/lib.rs b/traversable/src/lib.rs index e6b08c0..4f35cde 100644 --- a/traversable/src/lib.rs +++ b/traversable/src/lib.rs @@ -668,6 +668,16 @@ mod impl_std_container { } } + impl TraversableMut for Mutex + where + T: TraversableMut, + { + fn traverse_mut(&mut self, visitor: &mut V) -> ControlFlow { + let lock = self.get_mut().unwrap(); + lock.traverse_mut(visitor) + } + } + impl Traversable for RwLock where T: Traversable, @@ -678,6 +688,16 @@ mod impl_std_container { } } + impl TraversableMut for RwLock + where + T: TraversableMut, + { + fn traverse_mut(&mut self, visitor: &mut V) -> ControlFlow { + let lock = self.get_mut().unwrap(); + lock.traverse_mut(visitor) + } + } + impl TraversableMut for Arc> where T: TraversableMut,