Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 1bb0350

Browse files
committedJul 13, 2024
Updated slice documentation
1 parent 0476fc4 commit 1bb0350

File tree

1 file changed

+50
-10
lines changed

1 file changed

+50
-10
lines changed
 

‎core/src/slice/iter.rs

+50-10
Original file line numberDiff line numberDiff line change
@@ -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(&[11, 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

Comments
 (0)
Failed to load comments.