#[repr(transparent)]pub struct NonNullRef<T>(pub NonNull<T>);
Tuple Fields§
§0: NonNull<T>
Implementations§
Source§impl<T> NonNullRef<T>
impl<T> NonNullRef<T>
pub fn as_ptr(&self) -> *const T
pub fn cast<U>(self: NonNullRef<T>) -> NonNullRef<U>
Methods from Deref<Target = NonNull<T>>§
1.25.0 · Sourcepub unsafe fn as_ref<'a>(&self) -> &'a T
pub unsafe fn as_ref<'a>(&self) -> &'a T
Returns a shared reference to the value. If the value may be uninitialized, as_uninit_ref
must be used instead.
For the mutable counterpart see as_mut
.
§Safety
When calling this method, you have to ensure that the pointer is convertible to a reference.
§Examples
use std::ptr::NonNull;
let mut x = 0u32;
let ptr = NonNull::new(&mut x as *mut _).expect("ptr is null!");
let ref_x = unsafe { ptr.as_ref() };
println!("{ref_x}");
Trait Implementations§
Source§impl<__> Clone for NonNullRef<__>
impl<__> Clone for NonNullRef<__>
Source§impl<T> Debug for NonNullRef<T>
impl<T> Debug for NonNullRef<T>
Source§impl<T> Deref for NonNullRef<T>
impl<T> Deref for NonNullRef<T>
Source§impl<'lt, T: 'lt> From<&'lt T> for NonNullRef<T>
impl<'lt, T: 'lt> From<&'lt T> for NonNullRef<T>
Source§fn from(it: &'lt T) -> NonNullRef<T>
fn from(it: &'lt T) -> NonNullRef<T>
Converts to this type from the input type.
Source§impl<'lt, T: 'lt> From<&'lt mut T> for NonNullRef<T>
impl<'lt, T: 'lt> From<&'lt mut T> for NonNullRef<T>
Source§fn from(it: &'lt mut T) -> NonNullRef<T>
fn from(it: &'lt mut T) -> NonNullRef<T>
Converts to this type from the input type.
Source§impl<T> From<NonNull<T>> for NonNullRef<T>
impl<T> From<NonNull<T>> for NonNullRef<T>
Source§impl<T: ReprC> ReprC for NonNullRef<T>
impl<T: ReprC> ReprC for NonNullRef<T>
impl<__> Copy for NonNullRef<__>
Auto Trait Implementations§
impl<T> Freeze for NonNullRef<T>
impl<T> RefUnwindSafe for NonNullRef<T>where
T: RefUnwindSafe,
impl<T> !Send for NonNullRef<T>
impl<T> !Sync for NonNullRef<T>
impl<T> Unpin for NonNullRef<T>
impl<T> UnwindSafe for NonNullRef<T>where
T: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ConcreteReprC for T
impl<T> ConcreteReprC for T
type ConcreteCLayout = <T as ReprC>::CLayout
Source§impl<T> FitForCBox for T
impl<T> FitForCBox for T
Source§type CBoxWrapped = Box_<T>
type CBoxWrapped = Box_<T>
Available on crate feature
alloc
only.Source§impl<T> ManuallyDropMut for T
impl<T> ManuallyDropMut for T
type Ret = ManuallyDrop<T>
fn manually_drop_mut<'__>(&'__ mut self) -> &'__ mut ManuallyDrop<T>
Source§impl<T> UpcastAny for Twhere
T: 'static,
impl<T> UpcastAny for Twhere
T: 'static,
Source§fn upcast_any(&self) -> &(dyn Any + 'static)
fn upcast_any(&self) -> &(dyn Any + 'static)
Available on crate feature
headers
only.