about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2021-03-04 18:57:07 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2021-03-04 19:36:54 +0100
commit5176f677f588740549185eb877513282512cde3f (patch)
treebd20d59272b68117371678c1e0e27bda5fc1d556
parentec7f258d543e1ac7d0b94435972331e85da8c509 (diff)
downloadrust-5176f677f588740549185eb877513282512cde3f.tar.gz
rust-5176f677f588740549185eb877513282512cde3f.zip
slice: Stabilize IterMut::as_slice.
Much like #72584.

As per #58957 there's no blocker for this, and I wanted to use this
today :-)
-rw-r--r--library/core/src/slice/iter.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/library/core/src/slice/iter.rs b/library/core/src/slice/iter.rs
index 796301c76b6..8f404d71530 100644
--- a/library/core/src/slice/iter.rs
+++ b/library/core/src/slice/iter.rs
@@ -286,7 +286,6 @@ impl<'a, T> IterMut<'a, T> {
     /// Basic usage:
     ///
     /// ```
-    /// # #![feature(slice_iter_mut_as_slice)]
     /// let mut slice: &mut [usize] = &mut [1, 2, 3];
     ///
     /// // First, we get the iterator:
@@ -299,12 +298,19 @@ impl<'a, T> IterMut<'a, T> {
     /// // Now `as_slice` returns "[2, 3]":
     /// assert_eq!(iter.as_slice(), &[2, 3]);
     /// ```
-    #[unstable(feature = "slice_iter_mut_as_slice", reason = "recently added", issue = "58957")]
+    #[stable(feature = "slice_iter_mut_as_slice", since = "1.52.0")]
     pub fn as_slice(&self) -> &[T] {
         self.make_slice()
     }
 }
 
+#[stable(feature = "slice_iter_mut_as_slice", since = "1.52.0")]
+impl<T> AsRef<[T]> for IterMut<'_, T> {
+    fn as_ref(&self) -> &[T] {
+        self.as_slice()
+    }
+}
+
 iterator! {struct IterMut -> *mut T, &'a mut T, mut, {mut}, {}}
 
 /// An internal abstraction over the splitting iterators, so that