Auto merge of #127674 - jhpratt:rollup-0dxy3k7, r=jhpratt · model-checking/verify-rust-std@94ec6e7
@@ -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