about summary refs log tree commit diff
path: root/library/alloctests
diff options
context:
space:
mode:
authorMatthias Krüger <476013+matthiaskrgr@users.noreply.github.com>2025-06-12 20:03:34 +0200
committerGitHub <noreply@github.com>2025-06-12 20:03:34 +0200
commit315b76fcd33e6f51eda45113f85393704360d28b (patch)
treeff5e400b5ba90f4ce5bde622610959f5e3e16170 /library/alloctests
parent6c8138de8f1c96b2f66adbbc0e37c73525444750 (diff)
parente48617f817a2528502c7f6a59255e46c63d933d9 (diff)
downloadrust-315b76fcd33e6f51eda45113f85393704360d28b.tar.gz
rust-315b76fcd33e6f51eda45113f85393704360d28b.zip
Rollup merge of #138016 - nwoods-cimpress:slice_chunkby_clone, r=dtolnay
Added `Clone` implementation for `ChunkBy`

Added `Clone` implementation for `ChunkBy`

Closes rust-lang/rust#137969.
Diffstat (limited to 'library/alloctests')
-rw-r--r--library/alloctests/tests/slice.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/library/alloctests/tests/slice.rs b/library/alloctests/tests/slice.rs
index 2516563187f..1e15d54d979 100644
--- a/library/alloctests/tests/slice.rs
+++ b/library/alloctests/tests/slice.rs
@@ -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]