mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-01 06:51:58 +00:00
Put fn in the right place.
This commit is contained in:
parent
f81cd87eea
commit
4f44d6253d
@ -1849,6 +1849,35 @@ impl String {
|
||||
let slice = self.vec.into_boxed_slice();
|
||||
unsafe { from_boxed_utf8_unchecked(slice) }
|
||||
}
|
||||
|
||||
/// Consumes and leaks the `String`, returning a mutable reference to the contents,
|
||||
/// `&'a mut str`.
|
||||
///
|
||||
/// This is mainly useful for data that lives for the remainder of
|
||||
/// the program's life. Dropping the returned reference will cause a memory
|
||||
/// leak.
|
||||
///
|
||||
/// It does not reallocate or shrink the `String`,
|
||||
/// so the leaked allocation may include unused capacity that is not part
|
||||
/// of the returned slice.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// Simple usage:
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(string_leak)]
|
||||
///
|
||||
/// let x = String::from("bucket");
|
||||
/// let static_ref: &'static mut str = x.leak();
|
||||
/// assert_eq!(static_ref, "bucket");
|
||||
/// ```
|
||||
#[unstable(feature = "string_leak", issue = "102929")]
|
||||
#[inline]
|
||||
pub fn leak(self) -> &'static mut str {
|
||||
let slice = self.vec.leak();
|
||||
unsafe { from_utf8_unchecked_mut(slice) }
|
||||
}
|
||||
}
|
||||
|
||||
impl FromUtf8Error {
|
||||
@ -2691,35 +2720,6 @@ impl From<String> for Box<str> {
|
||||
fn from(s: String) -> Box<str> {
|
||||
s.into_boxed_str()
|
||||
}
|
||||
|
||||
/// Consumes and leaks the `String`, returning a mutable reference to the contents,
|
||||
/// `&'a mut str`.
|
||||
///
|
||||
/// This is mainly useful for data that lives for the remainder of
|
||||
/// the program's life. Dropping the returned reference will cause a memory
|
||||
/// leak.
|
||||
///
|
||||
/// It does not reallocate or shrink the `String`,
|
||||
/// so the leaked allocation may include unused capacity that is not part
|
||||
/// of the returned slice.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// Simple usage:
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(string_leak)]
|
||||
///
|
||||
/// let x = String::from("bucket");
|
||||
/// let static_ref: &'static mut str = x.leak();
|
||||
/// assert_eq!(static_ref, "bucket");
|
||||
/// ```
|
||||
#[unstable(feature = "string_leak", issue = "102929")]
|
||||
#[inline]
|
||||
pub fn leak(self) -> &'static mut str {
|
||||
let slice = self.vec.leak();
|
||||
unsafe { from_utf8_unchecked_mut(slice) }
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
|
Loading…
Reference in New Issue
Block a user