Skip to content

Commit cd9a955

Browse files
committed
Auto merge of #541 - geeknoid:geeknoid/iters, r=Amanieu
Implement Clone and Debug for HashTable's Iter struct Found those implementations missing, which is preventing me from implementing the same in encapsulating iterators.
2 parents 67f704e + e9fd7b4 commit cd9a955

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/table.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1979,6 +1979,23 @@ impl<T> ExactSizeIterator for Iter<'_, T> {
19791979

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

1982+
// FIXME(#26925) Remove in favor of `#[derive(Clone)]`
1983+
impl<'a, T> Clone for Iter<'a, T> {
1984+
#[cfg_attr(feature = "inline-more", inline)]
1985+
fn clone(&self) -> Iter<'a, T> {
1986+
Iter {
1987+
inner: self.inner.clone(),
1988+
marker: PhantomData,
1989+
}
1990+
}
1991+
}
1992+
1993+
impl<T: fmt::Debug> fmt::Debug for Iter<'_, T> {
1994+
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1995+
f.debug_list().entries(self.clone()).finish()
1996+
}
1997+
}
1998+
19821999
/// A mutable iterator over the entries of a `HashTable` in arbitrary order.
19832000
/// The iterator element type is `&'a mut T`.
19842001
///

0 commit comments

Comments
 (0)