[−][src]Struct abi_stable::OpaqueType
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 LAYOUT: &'static TypeLayout
[src]
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,
T: Send,
impl<T> Sync for OpaqueType<T> where
T: Sync,
T: Sync,
Blanket Implementations
impl<T> MakeGetAbiInfo for T where
T: StableAbi,
[src]
T: StableAbi,
const CONST: GetAbiInfo
[src]
impl<T> MakeGetAbiInfo for T
[src]
const CONST: GetAbiInfo
[src]
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> TypeIdentity for T where
T: ?Sized,
[src]
T: ?Sized,
type Type = T
The same type as Self. Read more
default fn into_type_val(self) -> Self::Type where
Self::Type: Sized,
[src]
Self::Type: Sized,
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]
Self::Type: Sized,
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]
T: ?Sized,
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]
&mut self,
_other: PhantomData<fn() -> Self>
) -> &mut Self
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]
F: FnOnce(Self) -> U,
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]
F: FnOnce(&'a Self) -> U,
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]
F: FnOnce(&'a mut Self) -> U,
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]
F: FnOnce(&mut Self),
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]
F: FnOnce(&Self),
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]
Self: Into<T>,
Performs a conversion using Into. Read more
default fn as_ref_<T>(&self) -> &T where
Self: AsRef<T>,
T: ?Sized,
[src]
Self: AsRef<T>,
T: ?Sized,
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]
Self: AsMut<T>,
T: ?Sized,
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]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The error type returned when the conversion fails.