about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYuki Okushi <jtitor@2k36.org>2021-07-05 07:13:25 +0900
committerGitHub <noreply@github.com>2021-07-05 07:13:25 +0900
commit28dba82e112ecfb02ce9ab7cfd3871bb06d39acc (patch)
treedc4a90a63656682bffe663918afc14de6e82345f
parent249d872901f9791799e1230ebdf11d4fc8df86e2 (diff)
parentab86df0ce9727eec35ccbb0142d1398239351e63 (diff)
downloadrust-28dba82e112ecfb02ce9ab7cfd3871bb06d39acc.tar.gz
rust-28dba82e112ecfb02ce9ab7cfd3871bb06d39acc.zip
Rollup merge of #86858 - JohnTitor:stabilize-string-drain-as-str, r=Mark-Simulacrum
Stabilize `string_drain_as_str`

Closes #76905, FCP is done: https://github.com/rust-lang/rust/issues/76905#issuecomment-873461688
-rw-r--r--library/alloc/src/string.rs30
1 files changed, 14 insertions, 16 deletions
diff --git a/library/alloc/src/string.rs b/library/alloc/src/string.rs
index a34f530762d..d0cf6244756 100644
--- a/library/alloc/src/string.rs
+++ b/library/alloc/src/string.rs
@@ -2769,33 +2769,31 @@ impl<'a> Drain<'a> {
     /// # Examples
     ///
     /// ```
-    /// #![feature(string_drain_as_str)]
     /// let mut s = String::from("abc");
     /// let mut drain = s.drain(..);
     /// assert_eq!(drain.as_str(), "abc");
     /// let _ = drain.next().unwrap();
     /// assert_eq!(drain.as_str(), "bc");
     /// ```
-    #[unstable(feature = "string_drain_as_str", issue = "76905")] // Note: uncomment AsRef impls below when stabilizing.
+    #[stable(feature = "string_drain_as_str", since = "1.55.0")]
     pub fn as_str(&self) -> &str {
         self.iter.as_str()
     }
 }
 
-// Uncomment when stabilizing `string_drain_as_str`.
-// #[unstable(feature = "string_drain_as_str", issue = "76905")]
-// impl<'a> AsRef<str> for Drain<'a> {
-//     fn as_ref(&self) -> &str {
-//         self.as_str()
-//     }
-// }
-//
-// #[unstable(feature = "string_drain_as_str", issue = "76905")]
-// impl<'a> AsRef<[u8]> for Drain<'a> {
-//     fn as_ref(&self) -> &[u8] {
-//         self.as_str().as_bytes()
-//     }
-// }
+#[stable(feature = "string_drain_as_str", since = "1.55.0")]
+impl<'a> AsRef<str> for Drain<'a> {
+    fn as_ref(&self) -> &str {
+        self.as_str()
+    }
+}
+
+#[stable(feature = "string_drain_as_str", since = "1.55.0")]
+impl<'a> AsRef<[u8]> for Drain<'a> {
+    fn as_ref(&self) -> &[u8] {
+        self.as_str().as_bytes()
+    }
+}
 
 #[stable(feature = "drain", since = "1.6.0")]
 impl Iterator for Drain<'_> {