Trait possibly_uninit::BorrowUninit[][src]

pub unsafe trait BorrowUninit<Borrowed> {
    fn borrow_uninit(&self) -> &MaybeUninit<Borrowed>;

    unsafe fn assume_init_ref(&self) -> &Borrowed { ... }
}

Trait allowing borrowing of MaybeUninit<T> values.

It’s analogous to core::borrow::Borrow, expect it works with MaybeUninit values.

Required methods

fn borrow_uninit(&self) -> &MaybeUninit<Borrowed>[src]

Borrows maybe uninitialized value.

This method is only useful for implementing assume_init_ref.

Loading content...

Provided methods

unsafe fn assume_init_ref(&self) -> &Borrowed[src]

Converts the reference assuming it’s initialized.

Safety

Calling this method on uninitialized value is undefined behavior.

Loading content...

Implementations on Foreign Types

impl<T> BorrowUninit<T> for MaybeUninit<T>[src]

impl<T> BorrowUninit<T> for &MaybeUninit<T>[src]

impl<T> BorrowUninit<T> for &mut MaybeUninit<T>[src]

impl<T> BorrowUninit<T> for Ref<'_, T>[src]

impl<T> BorrowUninit<T> for RefMut<'_, T>[src]

impl<T> BorrowUninit<T> for Ref<'_, MaybeUninit<T>>[src]

impl<T> BorrowUninit<T> for RefMut<'_, MaybeUninit<T>>[src]

Loading content...

Implementors

impl<'a, T> BorrowUninit<T> for Out<'a, T>[src]

impl<T> BorrowUninit<T> for &T[src]

impl<T> BorrowUninit<T> for &mut T[src]

impl<T> BorrowUninit<T> for T[src]

Loading content...