diff --git a/phf/src/map.rs b/phf/src/map.rs index f0bd039d..c5ba2e5b 100644 --- a/phf/src/map.rs +++ b/phf/src/map.rs @@ -26,11 +26,7 @@ pub struct Map { impl fmt::Debug for Map where K: fmt::Debug, V: fmt::Debug { fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - let mut builder = fmt.debug_map(); - for (k, v) in self { - builder = builder.entry(k, v); - } - builder.finish() + self.entries().fold(fmt.debug_map(), |b, (k, v)| b.entry(k, v)).finish() } } diff --git a/phf/src/ordered_map.rs b/phf/src/ordered_map.rs index 2b3705a7..f85322c4 100644 --- a/phf/src/ordered_map.rs +++ b/phf/src/ordered_map.rs @@ -32,11 +32,7 @@ pub struct OrderedMap { impl fmt::Debug for OrderedMap where K: fmt::Debug, V: fmt::Debug { fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - let mut builder = fmt.debug_map(); - for (k, v) in self { - builder = builder.entry(k, v); - } - builder.finish() + self.entries().fold(fmt.debug_map(), |b, (k, v)| b.entry(k, v)).finish() } } diff --git a/phf/src/ordered_set.rs b/phf/src/ordered_set.rs index f41239f3..0baf8959 100644 --- a/phf/src/ordered_set.rs +++ b/phf/src/ordered_set.rs @@ -23,11 +23,7 @@ pub struct OrderedSet { impl fmt::Debug for OrderedSet where T: fmt::Debug { fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - let mut builder = fmt.debug_set(); - for entry in self { - builder = builder.entry(entry); - } - builder.finish() + self.iter().fold(fmt.debug_set(), |b, e| b.entry(e)).finish() } } diff --git a/phf/src/set.rs b/phf/src/set.rs index ec564743..66bc1ed5 100644 --- a/phf/src/set.rs +++ b/phf/src/set.rs @@ -22,11 +22,7 @@ pub struct Set { impl fmt::Debug for Set where T: fmt::Debug { fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - let mut builder = fmt.debug_set(); - for entry in self { - builder = builder.entry(entry); - } - builder.finish() + self.iter().fold(fmt.debug_set(), |b, e| b.entry(e)).finish() } }