Added Clone implementation for ChunkBy
This commit is contained in:
parent
2b285cd5f0
commit
8bbc080cc7
2 changed files with 20 additions and 0 deletions
|
|
@ -1636,6 +1636,19 @@ fn test_chunk_by() {
|
|||
assert_eq!(iter.next_back(), Some(&[1][..]));
|
||||
assert_eq!(iter.next(), Some(&[2, 2, 2][..]));
|
||||
assert_eq!(iter.next_back(), None);
|
||||
|
||||
let mut iter = slice.chunk_by(|a, b| a == b);
|
||||
assert_eq!(iter.next(), Some(&[1, 1, 1][..]));
|
||||
assert_eq!(iter.next(), Some(&[3, 3][..]));
|
||||
let mut iter_clone = iter.clone();
|
||||
assert_eq!(iter.next(), Some(&[2, 2, 2][..]));
|
||||
assert_eq!(iter.next(), Some(&[1][..]));
|
||||
assert_eq!(iter.next(), Some(&[0][..]));
|
||||
assert_eq!(iter.next(), None);
|
||||
assert_eq!(iter_clone.next(), Some(&[2, 2, 2][..]));
|
||||
assert_eq!(iter_clone.next(), Some(&[1][..]));
|
||||
assert_eq!(iter_clone.next(), Some(&[0][..]));
|
||||
assert_eq!(iter_clone.next(), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
|||
|
|
@ -3372,6 +3372,13 @@ where
|
|||
#[stable(feature = "slice_group_by", since = "1.77.0")]
|
||||
impl<'a, T: 'a, P> FusedIterator for ChunkBy<'a, T, P> where P: FnMut(&T, &T) -> bool {}
|
||||
|
||||
#[stable(feature = "slice_group_by", since = "1.77.0")]
|
||||
impl<'a, T: 'a, P: Clone> Clone for ChunkBy<'a, T, P> {
|
||||
fn clone(&self) -> Self {
|
||||
Self { slice: self.slice, predicate: self.predicate.clone() }
|
||||
}
|
||||
}
|
||||
|
||||
#[stable(feature = "slice_group_by", since = "1.77.0")]
|
||||
impl<'a, T: 'a + fmt::Debug, P> fmt::Debug for ChunkBy<'a, T, P> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue