Skip to content

Commit

Permalink
Improve prose around into_slice example of IterMut
Browse files Browse the repository at this point in the history
  • Loading branch information
hkBst authored Dec 20, 2024
1 parent fcc1615 commit 07ab203
Showing 1 changed file with 13 additions and 20 deletions.
33 changes: 13 additions & 20 deletions library/core/src/slice/iter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -247,28 +247,21 @@ impl<'a, T> IterMut<'a, T> {
/// Basic usage:
///
/// ```
/// // First, we declare a type which has `iter_mut` method to get the `IterMut`
/// // struct (`&[usize]` here):
/// // First, we need a slice to call the `iter_mut` method on:
/// let mut slice = &mut [1, 2, 3];
///
/// {
/// // Then, we get the iterator:
/// let mut iter = slice.iter_mut();
/// // We move to next element:
/// iter.next();
/// // So if we print what `into_slice` method returns here, we have "[2, 3]":
/// println!("{:?}", iter.into_slice());
/// }
///
/// // Now let's modify a value of the slice:
/// {
/// // First we get back the iterator:
/// let mut iter = slice.iter_mut();
/// // We change the value of the first element of the slice returned by the `next` method:
/// *iter.next().unwrap() += 1;
/// }
/// // Now slice is "[2, 2, 3]":
/// println!("{slice:?}");
/// // Then we call `iter_mut` on the slice to get the `IterMut` struct:
/// let mut iter = slice.iter_mut();
/// // Now, we call the `next` method to remove the first element of the iterator,
/// // unwrap and dereference what we get from `next` and increase its value by 1:
/// *iter.next().unwrap() += 1;
/// // Here the iterator does not contain the first element of the slice any more,
/// // so `into_slice` only returns the last two elements of the slice,
/// // and so this prints "[2, 3]":
/// println!("{:?}", iter.into_slice());
/// // The underlying slice still contains three elements, but its first element
/// // was increased by 1, so this prints "[2, 2, 3]":
/// println!("{:?}", slice);
/// ```
#[must_use = "`self` will be dropped if the result is not used"]
#[stable(feature = "iter_to_slice", since = "1.4.0")]
Expand Down

0 comments on commit 07ab203

Please sign in to comment.