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