mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-20 10:55:14 +00:00
Clarify/add must_use
messages for more into_raw*
functions of alloc
types.
This commit is contained in:
parent
b215beb567
commit
0d49862998
@ -1097,6 +1097,7 @@ impl<T: ?Sized, A: Allocator> Box<T, A> {
|
||||
/// ```
|
||||
///
|
||||
/// [memory layout]: self#memory-layout
|
||||
#[must_use = "losing the pointer will leak memory"]
|
||||
#[stable(feature = "box_raw", since = "1.4.0")]
|
||||
#[inline]
|
||||
pub fn into_raw(b: Self) -> *mut T {
|
||||
@ -1150,6 +1151,7 @@ impl<T: ?Sized, A: Allocator> Box<T, A> {
|
||||
/// ```
|
||||
///
|
||||
/// [memory layout]: self#memory-layout
|
||||
#[must_use = "losing the pointer will leak memory"]
|
||||
#[unstable(feature = "allocator_api", issue = "32838")]
|
||||
#[inline]
|
||||
pub fn into_raw_with_allocator(b: Self) -> (*mut T, A) {
|
||||
|
@ -1372,6 +1372,7 @@ impl<T: ?Sized, A: Allocator> Rc<T, A> {
|
||||
/// let x = unsafe { Rc::from_raw_in(ptr, alloc) };
|
||||
/// assert_eq!(&*x, "hello");
|
||||
/// ```
|
||||
#[must_use = "losing the pointer will leak memory"]
|
||||
#[unstable(feature = "allocator_api", issue = "32838")]
|
||||
pub fn into_raw_with_allocator(this: Self) -> (*const T, A) {
|
||||
let this = mem::ManuallyDrop::new(this);
|
||||
@ -3100,6 +3101,7 @@ impl<T: ?Sized, A: Allocator> Weak<T, A> {
|
||||
///
|
||||
/// [`from_raw_in`]: Weak::from_raw_in
|
||||
/// [`as_ptr`]: Weak::as_ptr
|
||||
#[must_use = "losing the pointer will leak memory"]
|
||||
#[inline]
|
||||
#[unstable(feature = "allocator_api", issue = "32838")]
|
||||
pub fn into_raw_with_allocator(self) -> (*const T, A) {
|
||||
|
@ -903,7 +903,7 @@ impl String {
|
||||
/// let rebuilt = unsafe { String::from_raw_parts(ptr, len, cap) };
|
||||
/// assert_eq!(rebuilt, "hello");
|
||||
/// ```
|
||||
#[must_use = "`self` will be dropped if the result is not used"]
|
||||
#[must_use = "losing the pointer will leak memory"]
|
||||
#[unstable(feature = "vec_into_raw_parts", reason = "new API", issue = "65816")]
|
||||
pub fn into_raw_parts(self) -> (*mut u8, usize, usize) {
|
||||
self.vec.into_raw_parts()
|
||||
|
@ -879,6 +879,7 @@ impl<T, A: Allocator> Vec<T, A> {
|
||||
/// };
|
||||
/// assert_eq!(rebuilt, [4294967295, 0, 1]);
|
||||
/// ```
|
||||
#[must_use = "losing the pointer will leak memory"]
|
||||
#[unstable(feature = "vec_into_raw_parts", reason = "new API", issue = "65816")]
|
||||
pub fn into_raw_parts(self) -> (*mut T, usize, usize) {
|
||||
let mut me = ManuallyDrop::new(self);
|
||||
@ -922,6 +923,7 @@ impl<T, A: Allocator> Vec<T, A> {
|
||||
/// };
|
||||
/// assert_eq!(rebuilt, [4294967295, 0, 1]);
|
||||
/// ```
|
||||
#[must_use = "losing the pointer will leak memory"]
|
||||
#[unstable(feature = "allocator_api", issue = "32838")]
|
||||
// #[unstable(feature = "vec_into_raw_parts", reason = "new API", issue = "65816")]
|
||||
pub fn into_raw_parts_with_alloc(self) -> (*mut T, usize, usize, A) {
|
||||
|
Loading…
Reference in New Issue
Block a user