[][src]Enum ptr_union::Enum2

pub enum Enum2<A, B> {
    A(A),
    B(B),
}

An unpacked version of Union2.

Variants

A(A)
B(B)

Implementations

impl<A: ErasablePtr, B: ErasablePtr> Enum2<A, B>[src]

pub fn pack(self, builder: Builder2<A, B>) -> Union2<A, B>[src]

Pack this loose enum into a pointer union.

pub unsafe fn pack_unchecked(self) -> Union2<A, B>[src]

Pack this loose enum into a pointer union.

Safety

The pointer packed must be properly aligned. Note that only the actually packed pointer is restricted, not any other pointer type involved in this definition.

Trait Implementations

impl<A: Clone, B: Clone> Clone for Enum2<A, B>[src]

impl<A: Copy, B: Copy> Copy for Enum2<A, B>[src]

impl<A: Debug, B: Debug> Debug for Enum2<A, B>[src]

impl<A: Eq, B: Eq> Eq for Enum2<A, B>[src]

impl<A: Hash, B: Hash> Hash for Enum2<A, B>[src]

impl<A: PartialEq, B: PartialEq> PartialEq<Enum2<A, B>> for Enum2<A, B>[src]

impl<A, B> StructuralEq for Enum2<A, B>[src]

impl<A, B> StructuralPartialEq for Enum2<A, B>[src]

Auto Trait Implementations

impl<A, B> Send for Enum2<A, B> where
    A: Send,
    B: Send

impl<A, B> Sync for Enum2<A, B> where
    A: Sync,
    B: Sync

impl<A, B> Unpin for Enum2<A, B> where
    A: Unpin,
    B: Unpin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Erasable for T[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.