Add #[must_use] to alloc functions that would leak memory
This commit is contained in:
parent
e249ce6b23
commit
42e0282d52
@ -81,6 +81,7 @@
|
|||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "global_alloc", since = "1.28.0")]
|
#[stable(feature = "global_alloc", since = "1.28.0")]
|
||||||
|
#[must_use = "losing the pointer will leak memory"]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub unsafe fn alloc(layout: Layout) -> *mut u8 {
|
pub unsafe fn alloc(layout: Layout) -> *mut u8 {
|
||||||
unsafe { __rust_alloc(layout.size(), layout.align()) }
|
unsafe { __rust_alloc(layout.size(), layout.align()) }
|
||||||
@ -117,6 +118,7 @@ pub unsafe fn dealloc(ptr: *mut u8, layout: Layout) {
|
|||||||
///
|
///
|
||||||
/// See [`GlobalAlloc::realloc`].
|
/// See [`GlobalAlloc::realloc`].
|
||||||
#[stable(feature = "global_alloc", since = "1.28.0")]
|
#[stable(feature = "global_alloc", since = "1.28.0")]
|
||||||
|
#[must_use = "losing the pointer will leak memory"]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub unsafe fn realloc(ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8 {
|
pub unsafe fn realloc(ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8 {
|
||||||
unsafe { __rust_realloc(ptr, layout.size(), layout.align(), new_size) }
|
unsafe { __rust_realloc(ptr, layout.size(), layout.align(), new_size) }
|
||||||
@ -150,6 +152,7 @@ pub unsafe fn realloc(ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8
|
|||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "global_alloc", since = "1.28.0")]
|
#[stable(feature = "global_alloc", since = "1.28.0")]
|
||||||
|
#[must_use = "losing the pointer will leak memory"]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub unsafe fn alloc_zeroed(layout: Layout) -> *mut u8 {
|
pub unsafe fn alloc_zeroed(layout: Layout) -> *mut u8 {
|
||||||
unsafe { __rust_alloc_zeroed(layout.size(), layout.align()) }
|
unsafe { __rust_alloc_zeroed(layout.size(), layout.align()) }
|
||||||
|
@ -804,6 +804,7 @@ impl<T: ?Sized> Arc<T> {
|
|||||||
/// let x_ptr = Arc::into_raw(x);
|
/// let x_ptr = Arc::into_raw(x);
|
||||||
/// assert_eq!(unsafe { &*x_ptr }, "hello");
|
/// assert_eq!(unsafe { &*x_ptr }, "hello");
|
||||||
/// ```
|
/// ```
|
||||||
|
#[must_use = "losing the pointer will leak memory"]
|
||||||
#[stable(feature = "rc_raw", since = "1.17.0")]
|
#[stable(feature = "rc_raw", since = "1.17.0")]
|
||||||
pub fn into_raw(this: Self) -> *const T {
|
pub fn into_raw(this: Self) -> *const T {
|
||||||
let ptr = Self::as_ptr(&this);
|
let ptr = Self::as_ptr(&this);
|
||||||
|
Loading…
Reference in New Issue
Block a user