Rollup merge of #127668 - spencer3035:improve-slice-doc, r=jhpratt · model-checking/verify-rust-std@a7c1f60 (original) (raw)

`@@ -388,6 +388,9 @@ pub(super) trait SplitIter: DoubleEndedIterator {

`

388

388

```` /// ```


`389`

`389`

`/// let slice = [10, 40, 33, 20];

`

`390`

`390`

`/// 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);

`

`391`

`394`

```` /// ```

392

395

`///

`

393

396

`` /// [split]: slice::split

``

`@@ -541,6 +544,9 @@ impl<T, P> FusedIterator for Split<'_, T, P> where P: FnMut(&T) -> bool {}

`

541

544

```` /// ```


`542`

`545`

`/// let slice = [10, 40, 33, 20];

`

`543`

`546`

`/// 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);

`

`544`

`550`

```` /// ```

545

551

`///

`

546

552

`` /// [split_inclusive]: slice::split_inclusive

``

`@@ -914,7 +920,10 @@ impl<T, P> FusedIterator for SplitInclusiveMut<'_, T, P> where P: FnMut(&T) -> b

`

914

920

`///

`

915

921

```` /// ```


`916`

`922`

`/// 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);

`

`918`

`927`

```` /// ```

919

928

`///

`

920

929

`` /// [rsplit]: slice::rsplit

``

`@@ -1134,7 +1143,10 @@ impl<T, I: SplitIter<Item = T>> Iterator for GenericSplitN {

`

1134

1143

`///

`

1135

1144

```` /// ```


`1136`

`1145`

`/// 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);

`

`1138`

`1150`

```` /// ```

1139

1151

`///

`

1140

1152

`` /// [splitn]: slice::splitn

``

`@@ -1175,7 +1187,10 @@ where

`

1175

1187

`///

`

1176

1188

```` /// ```


`1177`

`1189`

`/// 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);

`

`1179`

`1194`

```` /// ```

1180

1195

`///

`

1181

1196

`` /// [rsplitn]: slice::rsplitn

``

`@@ -1300,7 +1315,11 @@ forward_iterator! { RSplitNMut: T, &'a mut [T] }

`

1300

1315

`///

`

1301

1316

```` /// ```


`1302`

`1317`

`/// 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);

`

`1304`

`1323`

```` /// ```

1305

1324

`///

`

1306

1325

`` /// [windows]: slice::windows

``

`@@ -1448,7 +1467,11 @@ unsafe impl<'a, T> TrustedRandomAccessNoCoerce for Windows<'a, T> {

`

1448

1467

`///

`

1449

1468

```` /// ```


`1450`

`1469`

`/// 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);

`

`1452`

`1475`

```` /// ```

1453

1476

`///

`

1454

1477

`` /// [chunks]: slice::chunks

``

`@@ -1819,7 +1842,10 @@ unsafe impl Sync for ChunksMut<'_, T> where T: Sync {}

`

1819

1842

`///

`

1820

1843

```` /// ```


`1821`

`1844`

`/// 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);

`

`1823`

`1849`

```` /// ```

1824

1850

`///

`

1825

1851

`` /// [chunks_exact]: slice::chunks_exact

``

`@@ -2163,7 +2189,11 @@ unsafe impl Sync for ChunksExactMut<'_, T> where T: Sync {}

`

2163

2189

`/// #![feature(array_windows)]

`

2164

2190

`///

`

2165

2191

`/// 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);

`

2167

2197

```` /// ```


`2168`

`2198`

`///

`

`2169`

`2199`

`` /// [`array_windows`]: slice::array_windows

``

`@@ -2285,7 +2315,10 @@ impl<T, const N: usize> ExactSizeIterator for ArrayWindows<'_, T, N> {

`

`2285`

`2315`

`/// #![feature(array_chunks)]

`

`2286`

`2316`

`///

`

`2287`

`2317`

`/// 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);

`

`2289`

`2322`

```` /// ```

2290

2323

`///

`

2291

2324

`` /// [array_chunks]: slice::array_chunks

``

`@@ -2526,7 +2559,11 @@ unsafe impl<'a, T, const N: usize> TrustedRandomAccessNoCoerce for ArrayChunksMu

`

2526

2559

`///

`

2527

2560

```` /// ```


`2528`

`2561`

`/// 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);

`

`2530`

`2567`

```` /// ```

2531

2568

`///

`

2532

2569

`` /// [rchunks]: slice::rchunks

``

`@@ -2892,7 +2929,10 @@ unsafe impl Sync for RChunksMut<'_, T> where T: Sync {}

`

2892

2929

`///

`

2893

2930

```` /// ```


`2894`

`2931`

`/// 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);

`

`2896`

`2936`

```` /// ```

2897

2937

`///

`

2898

2938

`` /// [rchunks_exact]: slice::rchunks_exact

``