Struct WithOpaqueHeader

#[repr(transparent)]
pub(in ::boxed::thin) struct WithOpaqueHeader(pub(in ::boxed::thin) NonNull<u8>);

An opaque representation of WithHeader<H> to avoid the projection invariance of <T as Pointee>::Metadata.

Fields

0: NonNull<u8>

Implementations

impl WithOpaqueHeader

fn new<H, T>(header: H, value: T) -> Self
fn new_unsize_zst<Dyn, T>(value: T) -> Self
where
    Dyn: ?Sized,
    T: Unsize<Dyn>,
fn try_new<H, T>(header: H, value: T) -> Result<Self, AllocError>

Auto Trait Implementations

impl !Send for WithOpaqueHeader

impl !Sync for WithOpaqueHeader

impl Freeze for WithOpaqueHeader

impl RefUnwindSafe for WithOpaqueHeader

impl Unpin for WithOpaqueHeader

impl UnsafeUnpin for WithOpaqueHeader

impl UnwindSafe for WithOpaqueHeader

Blanket Implementations

impl<T> Any for WithOpaqueHeader where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for WithOpaqueHeader where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for WithOpaqueHeader where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> From<T> for WithOpaqueHeader

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> SizeHint for WithOpaqueHeader where T: ?Sized,

fn lower_bound(&self) -> usize
fn upper_bound(&self) -> Option<usize>

impl<T> SizedTypeProperties for WithOpaqueHeader

impl<T, U> Into<U> for WithOpaqueHeader where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for WithOpaqueHeader where U: Into<T>,

type Error = Infallible;
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto<U> for WithOpaqueHeader where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>