Builder2

Struct Builder2 

Source
pub struct Builder2<A, B> { /* private fields */ }
Expand description

A builder for Union2.

An instance of this builder means that Union2 parameterized with the same type arguments are safe to construct.

Implementations§

Source§

impl<A, B> Builder2<A, B>

Source

pub const unsafe fn new_unchecked() -> Self

Assert that creating pointer unions of these types is safe.

§Safety

The pointer types must be erasable, and their alignment must meet the requirements of the target union type.

Source§

impl<A: ErasablePtr, B: ErasablePtr> Builder2<A, B>

Source

pub fn a(self, this: A) -> Union2<A, B>

Construct a union at this variant.

Source

pub fn b(self, this: B) -> Union2<A, B>

Construct a union at this variant.

Trait Implementations§

Source§

impl<A, B> Clone for Builder2<A, B>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<A, B> Debug for Builder2<A, B>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<A, B> Copy for Builder2<A, B>

Auto Trait Implementations§

§

impl<A, B> Freeze for Builder2<A, B>

§

impl<A, B> RefUnwindSafe for Builder2<A, B>

§

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

§

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

§

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

§

impl<A, B> UnwindSafe for Builder2<A, B>
where A: UnwindSafe, B: UnwindSafe,

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Erasable for T

Source§

const ACK_1_1_0: bool = true

Whether this implementor has acknowledged the 1.1.0 update to unerase’s documented implementation requirements. Read more
Source§

unsafe fn unerase(this: NonNull<Erased>) -> NonNull<T>

Unerase this erased pointer. Read more
Source§

fn erase(this: NonNull<Self>) -> NonNull<Erased>

Turn this erasable pointer into an erased pointer. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.