Document CTFE behavior of methods that call is_null
This commit is contained in:
parent
93889172bc
commit
e6efbb210b
3 changed files with 69 additions and 0 deletions
|
@ -257,6 +257,13 @@ impl<T: ?Sized> *const T {
|
||||||
/// When calling this method, you have to ensure that *either* the pointer is null *or*
|
/// When calling this method, you have to ensure that *either* the pointer is null *or*
|
||||||
/// the pointer is [convertible to a reference](crate::ptr#pointer-to-reference-conversion).
|
/// the pointer is [convertible to a reference](crate::ptr#pointer-to-reference-conversion).
|
||||||
///
|
///
|
||||||
|
/// # Panics during const evaluation
|
||||||
|
///
|
||||||
|
/// This method will panic during const evaluation if the pointer cannot be
|
||||||
|
/// determined to be null or not. See [`is_null`] for more information.
|
||||||
|
///
|
||||||
|
/// [`is_null`]: #method.is_null
|
||||||
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
|
@ -334,6 +341,13 @@ impl<T: ?Sized> *const T {
|
||||||
/// When calling this method, you have to ensure that *either* the pointer is null *or*
|
/// When calling this method, you have to ensure that *either* the pointer is null *or*
|
||||||
/// the pointer is [convertible to a reference](crate::ptr#pointer-to-reference-conversion).
|
/// the pointer is [convertible to a reference](crate::ptr#pointer-to-reference-conversion).
|
||||||
///
|
///
|
||||||
|
/// # Panics during const evaluation
|
||||||
|
///
|
||||||
|
/// This method will panic during const evaluation if the pointer cannot be
|
||||||
|
/// determined to be null or not. See [`is_null`] for more information.
|
||||||
|
///
|
||||||
|
/// [`is_null`]: #method.is_null
|
||||||
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
|
@ -1607,6 +1621,13 @@ impl<T> *const [T] {
|
||||||
///
|
///
|
||||||
/// [valid]: crate::ptr#safety
|
/// [valid]: crate::ptr#safety
|
||||||
/// [allocated object]: crate::ptr#allocated-object
|
/// [allocated object]: crate::ptr#allocated-object
|
||||||
|
///
|
||||||
|
/// # Panics during const evaluation
|
||||||
|
///
|
||||||
|
/// This method will panic during const evaluation if the pointer cannot be
|
||||||
|
/// determined to be null or not. See [`is_null`] for more information.
|
||||||
|
///
|
||||||
|
/// [`is_null`]: #method.is_null
|
||||||
#[inline]
|
#[inline]
|
||||||
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
||||||
pub const unsafe fn as_uninit_slice<'a>(self) -> Option<&'a [MaybeUninit<T>]> {
|
pub const unsafe fn as_uninit_slice<'a>(self) -> Option<&'a [MaybeUninit<T>]> {
|
||||||
|
|
|
@ -246,6 +246,13 @@ impl<T: ?Sized> *mut T {
|
||||||
/// When calling this method, you have to ensure that *either* the pointer is null *or*
|
/// When calling this method, you have to ensure that *either* the pointer is null *or*
|
||||||
/// the pointer is [convertible to a reference](crate::ptr#pointer-to-reference-conversion).
|
/// the pointer is [convertible to a reference](crate::ptr#pointer-to-reference-conversion).
|
||||||
///
|
///
|
||||||
|
/// # Panics during const evaluation
|
||||||
|
///
|
||||||
|
/// This method will panic during const evaluation if the pointer cannot be
|
||||||
|
/// determined to be null or not. See [`is_null`] for more information.
|
||||||
|
///
|
||||||
|
/// [`is_null`]: #method.is_null-1
|
||||||
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
|
@ -330,6 +337,13 @@ impl<T: ?Sized> *mut T {
|
||||||
/// Note that because the created reference is to `MaybeUninit<T>`, the
|
/// Note that because the created reference is to `MaybeUninit<T>`, the
|
||||||
/// source pointer can point to uninitialized memory.
|
/// source pointer can point to uninitialized memory.
|
||||||
///
|
///
|
||||||
|
/// # Panics during const evaluation
|
||||||
|
///
|
||||||
|
/// This method will panic during const evaluation if the pointer cannot be
|
||||||
|
/// determined to be null or not. See [`is_null`] for more information.
|
||||||
|
///
|
||||||
|
/// [`is_null`]: #method.is_null-1
|
||||||
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
|
@ -593,6 +607,12 @@ impl<T: ?Sized> *mut T {
|
||||||
/// the pointer is null *or*
|
/// the pointer is null *or*
|
||||||
/// the pointer is [convertible to a reference](crate::ptr#pointer-to-reference-conversion).
|
/// the pointer is [convertible to a reference](crate::ptr#pointer-to-reference-conversion).
|
||||||
///
|
///
|
||||||
|
/// # Panics during const evaluation
|
||||||
|
///
|
||||||
|
/// This method will panic during const evaluation if the pointer cannot be
|
||||||
|
/// determined to be null or not. See [`is_null`] for more information.
|
||||||
|
///
|
||||||
|
/// [`is_null`]: #method.is_null-1
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
|
@ -676,6 +696,13 @@ impl<T: ?Sized> *mut T {
|
||||||
///
|
///
|
||||||
/// When calling this method, you have to ensure that *either* the pointer is null *or*
|
/// When calling this method, you have to ensure that *either* the pointer is null *or*
|
||||||
/// the pointer is [convertible to a reference](crate::ptr#pointer-to-reference-conversion).
|
/// the pointer is [convertible to a reference](crate::ptr#pointer-to-reference-conversion).
|
||||||
|
///
|
||||||
|
/// # Panics during const evaluation
|
||||||
|
///
|
||||||
|
/// This method will panic during const evaluation if the pointer cannot be
|
||||||
|
/// determined to be null or not. See [`is_null`] for more information.
|
||||||
|
///
|
||||||
|
/// [`is_null`]: #method.is_null-1
|
||||||
#[inline]
|
#[inline]
|
||||||
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
||||||
pub const unsafe fn as_uninit_mut<'a>(self) -> Option<&'a mut MaybeUninit<T>>
|
pub const unsafe fn as_uninit_mut<'a>(self) -> Option<&'a mut MaybeUninit<T>>
|
||||||
|
@ -1952,6 +1979,13 @@ impl<T> *mut [T] {
|
||||||
///
|
///
|
||||||
/// [valid]: crate::ptr#safety
|
/// [valid]: crate::ptr#safety
|
||||||
/// [allocated object]: crate::ptr#allocated-object
|
/// [allocated object]: crate::ptr#allocated-object
|
||||||
|
///
|
||||||
|
/// # Panics during const evaluation
|
||||||
|
///
|
||||||
|
/// This method will panic during const evaluation if the pointer cannot be
|
||||||
|
/// determined to be null or not. See [`is_null`] for more information.
|
||||||
|
///
|
||||||
|
/// [`is_null`]: #method.is_null-1
|
||||||
#[inline]
|
#[inline]
|
||||||
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
||||||
pub const unsafe fn as_uninit_slice<'a>(self) -> Option<&'a [MaybeUninit<T>]> {
|
pub const unsafe fn as_uninit_slice<'a>(self) -> Option<&'a [MaybeUninit<T>]> {
|
||||||
|
@ -2003,6 +2037,13 @@ impl<T> *mut [T] {
|
||||||
///
|
///
|
||||||
/// [valid]: crate::ptr#safety
|
/// [valid]: crate::ptr#safety
|
||||||
/// [allocated object]: crate::ptr#allocated-object
|
/// [allocated object]: crate::ptr#allocated-object
|
||||||
|
///
|
||||||
|
/// # Panics during const evaluation
|
||||||
|
///
|
||||||
|
/// This method will panic during const evaluation if the pointer cannot be
|
||||||
|
/// determined to be null or not. See [`is_null`] for more information.
|
||||||
|
///
|
||||||
|
/// [`is_null`]: #method.is_null-1
|
||||||
#[inline]
|
#[inline]
|
||||||
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
||||||
pub const unsafe fn as_uninit_slice_mut<'a>(self) -> Option<&'a mut [MaybeUninit<T>]> {
|
pub const unsafe fn as_uninit_slice_mut<'a>(self) -> Option<&'a mut [MaybeUninit<T>]> {
|
||||||
|
|
|
@ -204,6 +204,13 @@ impl<T: ?Sized> NonNull<T> {
|
||||||
|
|
||||||
/// Creates a new `NonNull` if `ptr` is non-null.
|
/// Creates a new `NonNull` if `ptr` is non-null.
|
||||||
///
|
///
|
||||||
|
/// # Panics during const evaluation
|
||||||
|
///
|
||||||
|
/// This method will panic during const evaluation if the pointer cannot be
|
||||||
|
/// determined to be null or not. See [`is_null`] for more information.
|
||||||
|
///
|
||||||
|
/// [`is_null`]: ../primitive.pointer.html#method.is_null-1
|
||||||
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
|
|
Loading…
Add table
Reference in a new issue