diff options
| author | Yuki Okushi <jtitor@2k36.org> | 2021-07-05 07:13:25 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-05 07:13:25 +0900 |
| commit | 28dba82e112ecfb02ce9ab7cfd3871bb06d39acc (patch) | |
| tree | dc4a90a63656682bffe663918afc14de6e82345f | |
| parent | 249d872901f9791799e1230ebdf11d4fc8df86e2 (diff) | |
| parent | ab86df0ce9727eec35ccbb0142d1398239351e63 (diff) | |
| download | rust-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.rs | 30 |
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<'_> { |
