diff options
| author | Jacob Pratt <jacob@jhpratt.dev> | 2024-12-21 01:18:42 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-21 01:18:42 -0500 |
| commit | c682d303378efc2b41efe31b9247ef55ac31bda2 (patch) | |
| tree | 7fa46e351113f67bd9636d28fcd8195e3e11eaab | |
| parent | 91320f6eb897e474d12dc3da7c973dd09758f2ec (diff) | |
| parent | 07ab203f340138c6e2df5f32a3a5eb97b1dd90ce (diff) | |
| download | rust-c682d303378efc2b41efe31b9247ef55ac31bda2.tar.gz rust-c682d303378efc2b41efe31b9247ef55ac31bda2.zip | |
Rollup merge of #134579 - hkBst:patch-6, r=jhpratt
Improve prose around into_slice example of IterMut Having a part without modification and one with seems redundant, since `into_slice` is only called for the part without. I have brought the modification into the remaining part, although it perhaps does not add much (or only distracts?).
| -rw-r--r-- | library/core/src/slice/iter.rs | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/library/core/src/slice/iter.rs b/library/core/src/slice/iter.rs index d3e79f5ff5a..d2842f69008 100644 --- a/library/core/src/slice/iter.rs +++ b/library/core/src/slice/iter.rs @@ -259,28 +259,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")] |
