From c99dba231c86937e885268eb334dd4fba25046ab Mon Sep 17 00:00:00 2001 From: tison Date: Wed, 3 Jun 2026 07:40:32 +0800 Subject: [PATCH] feat: impl TraversableMut for Mutex and RwLock Signed-off-by: tison --- traversable/src/lib.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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,