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
This commit is contained in:
Yuki Okushi 2021-07-05 07:13:25 +09:00 committed by GitHub
commit 28dba82e11
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2769,33 +2769,31 @@ impl<'a> Drain<'a> {
/// # Examples /// # Examples
/// ///
/// ``` /// ```
/// #![feature(string_drain_as_str)]
/// let mut s = String::from("abc"); /// let mut s = String::from("abc");
/// let mut drain = s.drain(..); /// let mut drain = s.drain(..);
/// assert_eq!(drain.as_str(), "abc"); /// assert_eq!(drain.as_str(), "abc");
/// let _ = drain.next().unwrap(); /// let _ = drain.next().unwrap();
/// assert_eq!(drain.as_str(), "bc"); /// 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 { pub fn as_str(&self) -> &str {
self.iter.as_str() self.iter.as_str()
} }
} }
// Uncomment when stabilizing `string_drain_as_str`. #[stable(feature = "string_drain_as_str", since = "1.55.0")]
// #[unstable(feature = "string_drain_as_str", issue = "76905")] impl<'a> AsRef<str> for Drain<'a> {
// impl<'a> AsRef<str> for Drain<'a> { fn as_ref(&self) -> &str {
// fn as_ref(&self) -> &str { self.as_str()
// self.as_str() }
// } }
// }
// #[stable(feature = "string_drain_as_str", since = "1.55.0")]
// #[unstable(feature = "string_drain_as_str", issue = "76905")] impl<'a> AsRef<[u8]> for Drain<'a> {
// impl<'a> AsRef<[u8]> for Drain<'a> { fn as_ref(&self) -> &[u8] {
// fn as_ref(&self) -> &[u8] { self.as_str().as_bytes()
// self.as_str().as_bytes() }
// } }
// }
#[stable(feature = "drain", since = "1.6.0")] #[stable(feature = "drain", since = "1.6.0")]
impl Iterator for Drain<'_> { impl Iterator for Drain<'_> {