@@ -388,6 +388,9 @@ pub(super) trait SplitIter: DoubleEndedIterator {
388388/// ```
389389/// let slice = [10, 40, 33, 20];
390390/// let mut iter = slice.split(|num| num % 3 == 0);
391+ /// assert_eq!(iter.next(), Some(&[10, 40][..]));
392+ /// assert_eq!(iter.next(), Some(&[20][..]));
393+ /// assert_eq!(iter.next(), None);
391394/// ```
392395///
393396/// [`split`]: slice::split
@@ -541,6 +544,9 @@ impl<T, P> FusedIterator for Split<'_, T, P> where P: FnMut(&T) -> bool {}
541544/// ```
542545/// let slice = [10, 40, 33, 20];
543546/// let mut iter = slice.split_inclusive(|num| num % 3 == 0);
547+ /// assert_eq!(iter.next(), Some(&[10, 40, 33][..]));
548+ /// assert_eq!(iter.next(), Some(&[20][..]));
549+ /// assert_eq!(iter.next(), None);
544550/// ```
545551///
546552/// [`split_inclusive`]: slice::split_inclusive
@@ -914,7 +920,10 @@ impl<T, P> FusedIterator for SplitInclusiveMut<'_, T, P> where P: FnMut(&T) -> b
914920///
915921/// ```
916922/// let slice = [11, 22, 33, 0, 44, 55];
917- /// let iter = slice.rsplit(|num| *num == 0);
923+ /// let mut iter = slice.rsplit(|num| *num == 0);
924+ /// assert_eq!(iter.next(), Some(&[44, 55][..]));
925+ /// assert_eq!(iter.next(), Some(&[10, 22, 33][..]));
926+ /// assert_eq!(iter.next(), None);
918927/// ```
919928///
920929/// [`rsplit`]: slice::rsplit
@@ -1134,7 +1143,10 @@ impl<T, I: SplitIter<Item = T>> Iterator for GenericSplitN<I> {
11341143///
11351144/// ```
11361145/// let slice = [10, 40, 30, 20, 60, 50];
1137- /// let iter = slice.splitn(2, |num| *num % 3 == 0);
1146+ /// let mut iter = slice.splitn(2, |num| *num % 3 == 0);
1147+ /// assert_eq!(iter.next(), Some(&[10, 40][..]));
1148+ /// assert_eq!(iter.next(), Some(&[20, 60, 50][..]));
1149+ /// assert_eq!(iter.next(), None);
11381150/// ```
11391151///
11401152/// [`splitn`]: slice::splitn
@@ -1175,7 +1187,10 @@ where
11751187///
11761188/// ```
11771189/// let slice = [10, 40, 30, 20, 60, 50];
1178- /// let iter = slice.rsplitn(2, |num| *num % 3 == 0);
1190+ /// let mut iter = slice.rsplitn(2, |num| *num % 3 == 0);
1191+ /// assert_eq!(iter.next(), Some(&[50][..]));
1192+ /// assert_eq!(iter.next(), Some(&[10, 40, 30, 20][..]));
1193+ /// assert_eq!(iter.next(), None);
11791194/// ```
11801195///
11811196/// [`rsplitn`]: slice::rsplitn
@@ -1300,7 +1315,11 @@ forward_iterator! { RSplitNMut: T, &'a mut [T] }
13001315///
13011316/// ```
13021317/// let slice = ['r', 'u', 's', 't'];
1303- /// let iter = slice.windows(2);
1318+ /// let mut iter = slice.windows(2);
1319+ /// assert_eq!(iter.next(), Some(&['r', 'u'][..]));
1320+ /// assert_eq!(iter.next(), Some(&['u', 's'][..]));
1321+ /// assert_eq!(iter.next(), Some(&['s', 't'][..]));
1322+ /// assert_eq!(iter.next(), None);
13041323/// ```
13051324///
13061325/// [`windows`]: slice::windows
@@ -1448,7 +1467,11 @@ unsafe impl<'a, T> TrustedRandomAccessNoCoerce for Windows<'a, T> {
14481467///
14491468/// ```
14501469/// let slice = ['l', 'o', 'r', 'e', 'm'];
1451- /// let iter = slice.chunks(2);
1470+ /// let mut iter = slice.chunks(2);
1471+ /// assert_eq!(iter.next(), Some(&['l', 'o'][..]));
1472+ /// assert_eq!(iter.next(), Some(&['r', 'e'][..]));
1473+ /// assert_eq!(iter.next(), Some(&['m'][..]));
1474+ /// assert_eq!(iter.next(), None);
14521475/// ```
14531476///
14541477/// [`chunks`]: slice::chunks
@@ -1819,7 +1842,10 @@ unsafe impl<T> Sync for ChunksMut<'_, T> where T: Sync {}
18191842///
18201843/// ```
18211844/// let slice = ['l', 'o', 'r', 'e', 'm'];
1822- /// let iter = slice.chunks_exact(2);
1845+ /// let mut iter = slice.chunks_exact(2);
1846+ /// assert_eq!(iter.next(), Some(&['l', 'o'][..]));
1847+ /// assert_eq!(iter.next(), Some(&['r', 'e'][..]));
1848+ /// assert_eq!(iter.next(), None);
18231849/// ```
18241850///
18251851/// [`chunks_exact`]: slice::chunks_exact
@@ -2163,7 +2189,11 @@ unsafe impl<T> Sync for ChunksExactMut<'_, T> where T: Sync {}
21632189/// #![feature(array_windows)]
21642190///
21652191/// let slice = [0, 1, 2, 3];
2166- /// let iter = slice.array_windows::<2>();
2192+ /// let mut iter = slice.array_windows::<2>();
2193+ /// assert_eq!(iter.next(), Some(&[0, 1]));
2194+ /// assert_eq!(iter.next(), Some(&[1, 2]));
2195+ /// assert_eq!(iter.next(), Some(&[2, 3]));
2196+ /// assert_eq!(iter.next(), None);
21672197/// ```
21682198///
21692199/// [`array_windows`]: slice::array_windows
@@ -2285,7 +2315,10 @@ impl<T, const N: usize> ExactSizeIterator for ArrayWindows<'_, T, N> {
22852315/// #![feature(array_chunks)]
22862316///
22872317/// let slice = ['l', 'o', 'r', 'e', 'm'];
2288- /// let iter = slice.array_chunks::<2>();
2318+ /// let mut iter = slice.array_chunks::<2>();
2319+ /// assert_eq!(iter.next(), Some(&['l', 'o']));
2320+ /// assert_eq!(iter.next(), Some(&['r', 'e']));
2321+ /// assert_eq!(iter.next(), None);
22892322/// ```
22902323///
22912324/// [`array_chunks`]: slice::array_chunks
@@ -2526,7 +2559,11 @@ unsafe impl<'a, T, const N: usize> TrustedRandomAccessNoCoerce for ArrayChunksMu
25262559///
25272560/// ```
25282561/// let slice = ['l', 'o', 'r', 'e', 'm'];
2529- /// let iter = slice.rchunks(2);
2562+ /// let mut iter = slice.rchunks(2);
2563+ /// assert_eq!(iter.next(), Some(&['e', 'm'][..]));
2564+ /// assert_eq!(iter.next(), Some(&['o', 'r'][..]));
2565+ /// assert_eq!(iter.next(), Some(&['l'][..]));
2566+ /// assert_eq!(iter.next(), None);
25302567/// ```
25312568///
25322569/// [`rchunks`]: slice::rchunks
@@ -2892,7 +2929,10 @@ unsafe impl<T> Sync for RChunksMut<'_, T> where T: Sync {}
28922929///
28932930/// ```
28942931/// let slice = ['l', 'o', 'r', 'e', 'm'];
2895- /// let iter = slice.rchunks_exact(2);
2932+ /// let mut iter = slice.rchunks_exact(2);
2933+ /// assert_eq!(iter.next(), Some(&['e', 'm'][..]));
2934+ /// assert_eq!(iter.next(), Some(&['o', 'r'][..]));
2935+ /// assert_eq!(iter.next(), None);
28962936/// ```
28972937///
28982938/// [`rchunks_exact`]: slice::rchunks_exact
0 commit comments