Skip to content

Commit

Permalink
Implement Clone and Debug for HashTable's Iter and IterMut structs
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Taillefer (from Dev Box) committed Sep 7, 2024
1 parent a69af93 commit d6a46a9
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions src/table.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1969,6 +1969,23 @@ impl<T> ExactSizeIterator for Iter<'_, T> {

impl<T> FusedIterator for Iter<'_, T> {}

// FIXME(#26925) Remove in favor of `#[derive(Clone)]`
impl<'a, T> Clone for Iter<'a, T> {
#[cfg_attr(feature = "inline-more", inline)]
fn clone(&self) -> Iter<'a, T> {
Iter {
inner: self.inner.clone(),
marker: PhantomData,
}
}
}

impl<T: fmt::Debug> fmt::Debug for Iter<'_, T> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.debug_list().entries(self.clone()).finish()
}
}

/// A mutable iterator over the entries of a `HashTable` in arbitrary order.
/// The iterator element type is `&'a mut T`.
///
Expand Down

0 comments on commit d6a46a9

Please sign in to comment.