[][src]Struct abi_stable::OpaqueType

#[repr(C)]
pub struct OpaqueType<T> { /* fields omitted */ }

A Zero-sized type used by VirtualWrapper<Pointer<OpaqueType<T>>>.

If this did not wrap T, we could pretend to have a T even though we don't.

Casting the pointer type to point to this type is safe, because the pointer is required to be castable to point to different types, so long as a reference to one is valid for the other.

This type intentionally does not implement any traits.

Trait Implementations

impl<T> StableAbi for OpaqueType<T>[src]

type IsNonZeroType = False

Whether this type has a single invalid bit-pattern. Read more

const ABI_INFO: &'static AbiInfoWrapper[src]

The layout of the type,derived from Self::LAYOUT and associated types.

Auto Trait Implementations

impl<T> Send for OpaqueType<T> where
    T: Send

impl<T> Sync for OpaqueType<T> where
    T: Sync

Blanket Implementations

impl<T> MakeGetAbiInfo for T where
    T: StableAbi
[src]

impl<T> MakeGetAbiInfo for T[src]

impl<T> From for T[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

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

The type returned in the event of a conversion error.

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

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

type Type = T

The same type as Self. Read more

default fn into_type_val(self) -> Self::Type where
    Self::Type: Sized
[src]

Converts a value back to the original type.

default fn into_type_ref(&self) -> &Self::Type[src]

Converts a reference back to the original type.

default fn into_type_mut(&mut self) -> &mut Self::Type[src]

Converts a mutable reference back to the original type.

default fn into_type_box(self: Box<Self>) -> Box<Self::Type>[src]

Converts a box back to the original type.

default fn into_type_arc(this: Arc<Self>) -> Arc<Self::Type>[src]

Converts an Arc back to the original type.

default fn into_type_rc(this: Rc<Self>) -> Rc<Self::Type>[src]

Converts an Rc back to the original type.

default fn from_type_val(this: Self::Type) -> Self where
    Self::Type: Sized
[src]

Converts a value back to the original type.

default fn from_type_ref(this: &Self::Type) -> &Self[src]

Converts a reference back to the original type.

default fn from_type_mut(this: &mut Self::Type) -> &mut Self[src]

Converts a mutable reference back to the original type.

default fn from_type_box(this: Box<Self::Type>) -> Box<Self>[src]

Converts a box back to the original type.

default fn from_type_arc(this: Arc<Self::Type>) -> Arc<Self>[src]

Converts an Arc back to the original type.

default fn from_type_rc(this: Rc<Self::Type>) -> Rc<Self>[src]

Converts an Rc back to the original type.

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

const T: PhantomData<fn() -> Self>[src]

Represents Self by using a VariantPhantom, using the syntax Type::T to pass it in methods with _:VariantPhantom<T> parameters. Read more

const T_D: PhantomData<Self>[src]

Represents Self by using a VariantDropPhantom,for specialized cases. Read more

default fn assert_ty(self, _other: PhantomData<fn() -> Self>) -> Self[src]

Asserts that other is the same type as self.

default fn assert_ty_ref(&self, _other: PhantomData<fn() -> Self>) -> &Self[src]

Asserts that other is the same type as self.

default fn assert_ty_mut(
    &mut self,
    _other: PhantomData<fn() -> Self>
) -> &mut Self
[src]

Asserts that other is the same type as self.

default fn ty_(&self) -> PhantomData<fn() -> Self>[src]

Equivalent to SelfOps::T,as a method. Read more

default fn ty_d(&self) -> PhantomData<Self>[src]

Equivalent to [Self::ty_],for specialized cases. Read more

default fn ty_inv(&self) -> PhantomData<fn(Self) -> Self>[src]

Equivalent to [Self::ty_] with an invariant type.

default fn ty_inv_ref(&self) -> PhantomData<Cell<&Self>>[src]

Equivalent to [Self::ty_] with an invariant lifetime.

default fn eq_id(&self, other: &Self) -> bool[src]

Identity comparison to another value of the same type. Read more

default fn piped<F, U>(self, f: F) -> U where
    F: FnOnce(Self) -> U, 
[src]

Emulates the pipeline operator,allowing method syntax in more places. Read more

default fn piped_ref<'a, F, U>(&'a self, f: F) -> U where
    F: FnOnce(&'a Self) -> U, 
[src]

The same as piped except that the function takes &Self Useful for functions that take &Self instead of Self. Read more

default fn piped_mut<'a, F, U>(&'a mut self, f: F) -> U where
    F: FnOnce(&'a mut Self) -> U, 
[src]

The same as piped except that the function takes &mut Self. Useful for functions that take &mut Self instead of Self. Read more

default fn mutated<F>(self, f: F) -> Self where
    F: FnOnce(&mut Self), 
[src]

Mutates self using a closure taking self by mutable reference, passing it along the method chain. Read more

default fn observe<F>(self, f: F) -> Self where
    F: FnOnce(&Self), 
[src]

Observes the value of self passing it along unmodified. Useful in a long method chain. Read more

default fn into_<T>(self, PhantomData<fn() -> T>) -> T where
    Self: Into<T>, 
[src]

Performs a conversion using Into. Read more

default fn as_ref_<T>(&self) -> &T where
    Self: AsRef<T>,
    T: ?Sized
[src]

Performs a reference to reference conversion using AsRef, using the turbofish .as_ref_::<_>() syntax. Read more

default fn as_mut_<T>(&mut self) -> &mut T where
    Self: AsMut<T>,
    T: ?Sized
[src]

Performs a mutable reference to mutable reference conversion using AsMut, using the turbofish .as_mut_::<_>() syntax. Read more

default fn drop_(self)[src]

Drops self using method notation. Alternative to std::mem::drop. Read more

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

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

The error type returned when the conversion fails.

impl<T> Erased for T