From 74b4312a32b98b68a59c9401ba92ea65246c57dc Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Tue, 8 Feb 2022 17:14:59 -0800 Subject: [PATCH] impl Debug for IterMut and ValuesMut (cherry picked from commit 4ddce3a976c1bc88a6373391da542729c4bb1815) --- RELEASES.md | 2 ++ src/map.rs | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index d556b677..1c1bf069 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -4,6 +4,8 @@ - The `hashbrown` dependency has been updated to version 0.12. + - `IterMut` and `ValuesMut` now implement `Debug`. + - 1.8.2 - Bump the `rustc-rayon` dependency, for compiler use only. diff --git a/src/map.rs b/src/map.rs index 9e4d1113..4a24f04a 100644 --- a/src/map.rs +++ b/src/map.rs @@ -999,7 +999,12 @@ impl ExactSizeIterator for ValuesMut<'_, K, V> { impl FusedIterator for ValuesMut<'_, K, V> {} -// TODO: `impl Debug for ValuesMut` once we have MSRV 1.53 for `slice::IterMut::as_slice` +impl fmt::Debug for ValuesMut<'_, K, V> { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let iter = self.iter.as_slice().iter().map(Bucket::value_ref); + f.debug_list().entries(iter).finish() + } +} /// An owning iterator over the values of a `IndexMap`. /// @@ -1110,7 +1115,12 @@ impl ExactSizeIterator for IterMut<'_, K, V> { impl FusedIterator for IterMut<'_, K, V> {} -// TODO: `impl Debug for IterMut` once we have MSRV 1.53 for `slice::IterMut::as_slice` +impl fmt::Debug for IterMut<'_, K, V> { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let iter = self.iter.as_slice().iter().map(Bucket::refs); + f.debug_list().entries(iter).finish() + } +} /// An owning iterator over the entries of a `IndexMap`. ///