#[repr(C)]
pub struct IntoProcessInstance<'cglue_a, CGlueInst: 'cglue_a, CGlueCtx: ContextBounds>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
{ /* private fields */ }
Expand description

Trait group potentially implementing :: cglue :: ext :: core :: clone :: Clone < > + MemoryView < > + Process < > + VirtualTranslate < > traits.

Optional traits are not implemented here, however. There are numerous conversion functions available for safely retrieving a concrete collection of traits.

check_impl_ functions allow to check if the object implements the wanted traits.

into_impl_ functions consume the object and produce a new final structure that keeps only the required information.

cast_impl_ functions merely check and transform the object into a type that can be transformed back into IntoProcessInstance without losing data.

as_ref_, and as_mut_ functions obtain references to safe objects, but do not perform any memory transformations either. They are the safest to use, because there is no risk of accidentally consuming the whole object.

Implementations§

source§

impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,

source

pub fn enable_virtualtranslate(self) -> Self
where &'cglue_a VirtualTranslateVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: Default,

source§

impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase, &'cglue_a CloneVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default, &'cglue_a MemoryViewVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default, &'cglue_a ProcessVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,

source

pub fn new( instance: CGlueInst, context: CGlueCtx, vtbl_virtualtranslate: Option<&'cglue_a VirtualTranslateVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>> ) -> Self
where &'cglue_a CloneVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default, &'cglue_a MemoryViewVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default, &'cglue_a ProcessVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,

Create new instance of IntoProcessInstance.

source§

impl<'cglue_a, CGlueT> IntoProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, NoContext>

source

pub fn new_boxed( this: CGlueT, vtbl_virtualtranslate: Option<&'cglue_a VirtualTranslateVtbl<'cglue_a, IntoProcessInstanceContainer<CBox<'cglue_a, CGlueT>, NoContext>>> ) -> Self
where &'cglue_a CloneVtbl<'cglue_a, IntoProcessInstanceContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default, &'cglue_a MemoryViewVtbl<'cglue_a, IntoProcessInstanceContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default, &'cglue_a ProcessVtbl<'cglue_a, IntoProcessInstanceContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,

Create new instance of IntoProcessInstance.

instance will be moved onto heap.

source§

impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,

source

pub fn check_impl_virtualtranslate(&self) -> bool
where IntoProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Clone + MemoryView + Process + VirtualTranslate,

Check whether IntoProcessInstance implements :: cglue :: ext :: core :: clone :: Clone < > + MemoryView < > + Process < > + VirtualTranslate < >.

If this check returns true, it is safe to run consuming conversion operations.

source

pub fn into_impl_virtualtranslate( self ) -> Option<impl 'cglue_a + Clone + MemoryView + Process + VirtualTranslate>
where IntoProcessInstanceFinalWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Clone + MemoryView + Process + VirtualTranslate,

Retrieve a final IntoProcessInstance variant that implements :: cglue :: ext :: core :: clone :: Clone < > + MemoryView < > + Process < > + VirtualTranslate < >.

This consumes the IntoProcessInstance, and outputs Some(impl :: cglue :: ext :: core :: clone :: Clone < > + MemoryView < > + Process < > + VirtualTranslate < >), if all types are present.

source

pub fn cast_impl_virtualtranslate( self ) -> Option<IntoProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>>
where IntoProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Clone + MemoryView + Process + VirtualTranslate,

Retrieve a concrete IntoProcessInstance variant that implements :: cglue :: ext :: core :: clone :: Clone < > + MemoryView < > + Process < > + VirtualTranslate < >.

This consumes the IntoProcessInstance, and outputs Some(impl :: cglue :: ext :: core :: clone :: Clone < > + MemoryView < > + Process < > + VirtualTranslate < >), if all types are present. It is possible to cast this type back with the From implementation.

source

pub fn as_mut_impl_virtualtranslate<'b>( &'b mut self ) -> Option<&'b mut (impl 'cglue_a + Clone + MemoryView + Process + VirtualTranslate)>
where IntoProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Clone + MemoryView + Process + VirtualTranslate,

Retrieve mutable reference to a concrete IntoProcessInstance variant that implements :: cglue :: ext :: core :: clone :: Clone < > + MemoryView < > + Process < > + VirtualTranslate < >.

source

pub fn as_ref_impl_virtualtranslate<'b>( &'b self ) -> Option<&'b (impl 'cglue_a + Clone + MemoryView + Process + VirtualTranslate)>
where IntoProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Clone + MemoryView + Process + VirtualTranslate,

Retrieve immutable reference to a concrete IntoProcessInstance variant that implements :: cglue :: ext :: core :: clone :: Clone < > + MemoryView < > + Process < > + VirtualTranslate < >.

Trait Implementations§

source§

impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> Clone for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase, Self: CloneExt,

source§

fn clone(&self) -> Self

Returns a copy 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<'cglue_a, CGlueInst: Deref, CGlueCtx: ContextBounds> From<(CGlueInst, CGlueCtx)> for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where Self: From<IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase, &'cglue_a CloneVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default, &'cglue_a MemoryViewVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default, &'cglue_a ProcessVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,

source§

fn from((instance, context): (CGlueInst, CGlueCtx)) -> Self

Converts to this type from the input type.
source§

impl<'cglue_a, CGlueT, CGlueCtx: ContextBounds> From<(CGlueT, CGlueCtx)> for IntoProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, CGlueCtx>
where Self: From<(CBox<'cglue_a, CGlueT>, CGlueCtx)>, IntoProcessInstanceContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>: CGlueObjBase, &'cglue_a CloneVtbl<'cglue_a, IntoProcessInstanceContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default, &'cglue_a MemoryViewVtbl<'cglue_a, IntoProcessInstanceContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default, &'cglue_a ProcessVtbl<'cglue_a, IntoProcessInstanceContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default,

source§

fn from((this, context): (CGlueT, CGlueCtx)) -> Self

Converts to this type from the input type.
source§

impl<'cglue_a, CGlueInst: Deref> From<CGlueInst> for IntoProcessInstance<'cglue_a, CGlueInst, NoContext>
where Self: From<(CGlueInst, NoContext)>, IntoProcessInstanceContainer<CGlueInst, NoContext>: CGlueObjBase, &'cglue_a CloneVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, NoContext>>: 'cglue_a + Default, &'cglue_a MemoryViewVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, NoContext>>: 'cglue_a + Default, &'cglue_a ProcessVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, NoContext>>: 'cglue_a + Default,

source§

fn from(instance: CGlueInst) -> Self

Converts to this type from the input type.
source§

impl<'cglue_a, CGlueT> From<CGlueT> for IntoProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, NoContext>
where Self: From<(CBox<'cglue_a, CGlueT>, NoContext)>, &'cglue_a CloneVtbl<'cglue_a, IntoProcessInstanceContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default, &'cglue_a MemoryViewVtbl<'cglue_a, IntoProcessInstanceContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default, &'cglue_a ProcessVtbl<'cglue_a, IntoProcessInstanceContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,

source§

fn from(instance: CGlueT) -> Self

Converts to this type from the input type.
source§

impl<'cglue_a, CGlueInst: Deref, CGlueCtx: ContextBounds> From<IntoProcessInstanceContainer<CGlueInst, CGlueCtx>> for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase, CGlueInst::Target: IntoProcessInstanceVtableFiller<'cglue_a, CGlueInst, CGlueCtx>, &'cglue_a CloneVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default, &'cglue_a MemoryViewVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default, &'cglue_a ProcessVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,

source§

fn from(container: IntoProcessInstanceContainer<CGlueInst, CGlueCtx>) -> Self

Converts to this type from the input type.
source§

impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<IntoProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>> for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,

source§

fn from( input: IntoProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx> ) -> Self

Converts to this type from the input type.
source§

impl<CGlueInst: Deref, CGlueCtx: ContextBounds> GetContainer for IntoProcessInstance<'_, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,

§

type ContType = IntoProcessInstanceContainer<CGlueInst, CGlueCtx>

source§

fn ccont_ref(&self) -> &Self::ContType

source§

fn ccont_mut(&mut self) -> &mut Self::ContType

source§

fn into_ccont(self) -> Self::ContType

source§

fn build_with_ccont(&self, container: Self::ContType) -> Self

source§

impl<'cglue_a, CGlueInst, CGlueCtx> GetStaticEquivalent_ for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase, CGlueInst: __StableAbi + 'cglue_a, CGlueCtx: __StableAbi + ContextBounds,

§

type StaticEquivalent = _static_IntoProcessInstance<'static, <CGlueInst as GetStaticEquivalent_>::StaticEquivalent, <CGlueCtx as GetStaticEquivalent_>::StaticEquivalent>

source§

impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> GetVtbl<CloneVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>> for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,

source§

fn get_vtbl( &self ) -> &CloneVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>

source§

impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> GetVtbl<MemoryViewVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>> for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,

source§

fn get_vtbl( &self ) -> &MemoryViewVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>

source§

impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> GetVtbl<ProcessVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>> for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,

source§

fn get_vtbl( &self ) -> &ProcessVtbl<'cglue_a, IntoProcessInstanceContainer<CGlueInst, CGlueCtx>>

source§

impl<'cglue_a, CGlueInst: Opaquable, CGlueCtx: ContextBounds> Opaquable for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>

Convert into opaque object.

This is the prerequisite for using underlying trait implementations.

§

type OpaqueTarget = IntoProcessInstance<'cglue_a, <CGlueInst as Opaquable>::OpaqueTarget, CGlueCtx>

source§

fn into_opaque(self) -> Self::OpaqueTarget

Transform self into an opaque version of the trait object. Read more
source§

impl<'cglue_a, CGlueInst, CGlueCtx> StableAbi for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where IntoProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase, CGlueInst: __StableAbi + 'cglue_a, CGlueCtx: __StableAbi + ContextBounds,

§

type IsNonZeroType = False

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

const LAYOUT: &'static TypeLayout = _

The layout of the type provided by implementors.
source§

const ABI_CONSTS: AbiConsts = _

const-equivalents of the associated types.

Auto Trait Implementations§

§

impl<'cglue_a, CGlueInst, CGlueCtx> RefUnwindSafe for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where CGlueCtx: RefUnwindSafe, CGlueInst: RefUnwindSafe,

§

impl<'cglue_a, CGlueInst, CGlueCtx> Send for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where CGlueInst: Send + Sync,

§

impl<'cglue_a, CGlueInst, CGlueCtx> Sync for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where CGlueInst: Sync,

§

impl<'cglue_a, CGlueInst, CGlueCtx> Unpin for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where CGlueCtx: Unpin, CGlueInst: Unpin,

§

impl<'cglue_a, CGlueInst, CGlueCtx> UnwindSafe for IntoProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
where CGlueCtx: UnwindSafe + RefUnwindSafe, CGlueInst: UnwindSafe + RefUnwindSafe,

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<'a, T> BorrowOwned<'a> for T
where T: 'a + Clone,

§

type ROwned = T

The owned type, stored in RCow::Owned
§

type RBorrowed = &'a T

The borrowed type, stored in RCow::Borrowed
source§

fn r_borrow( this: &'a <T as BorrowOwned<'a>>::ROwned ) -> <T as BorrowOwned<'a>>::RBorrowed

source§

fn r_to_owned( this: <T as BorrowOwned<'a>>::RBorrowed ) -> <T as BorrowOwned<'a>>::ROwned

source§

fn deref_borrowed(this: &<T as BorrowOwned<'a>>::RBorrowed) -> &T

source§

fn deref_owned(this: &<T as BorrowOwned<'a>>::ROwned) -> &T

source§

fn from_cow_borrow(this: &'a T) -> <T as BorrowOwned<'a>>::RBorrowed

source§

fn from_cow_owned(this: <T as ToOwned>::Owned) -> <T as BorrowOwned<'a>>::ROwned

source§

fn into_cow_borrow(this: <T as BorrowOwned<'a>>::RBorrowed) -> &'a T

source§

fn into_cow_owned(this: <T as BorrowOwned<'a>>::ROwned) -> <T as ToOwned>::Owned

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, F> From2<T> for F
where T: Into<F>,

source§

fn from2(other: T) -> F

source§

impl<T> GetWithMetadata for T

§

type ForSelf = WithMetadata_<T, T>

This is always WithMetadata_<Self, Self>
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.

§

impl<S> ROExtAcc for S

§

fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F

Gets a reference to a field, determined by offset. Read more
§

fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F

Gets a muatble reference to a field, determined by offset. Read more
§

fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F

Gets a const pointer to a field, the field is determined by offset. Read more
§

fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F

Gets a mutable pointer to a field, determined by offset. Read more
§

impl<S> ROExtOps<Aligned> for S

§

fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F

Replaces a field (determined by offset) with value, returning the previous value of the field. Read more
§

fn f_swap<F>(&mut self, offset: FieldOffset<S, F, Aligned>, right: &mut S)

Swaps a field (determined by offset) with the same field in right. Read more
§

fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> F
where F: Copy,

Gets a copy of a field (determined by offset). The field is determined by offset. Read more
§

impl<S> ROExtOps<Unaligned> for S

§

fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F

Replaces a field (determined by offset) with value, returning the previous value of the field. Read more
§

fn f_swap<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, right: &mut S)

Swaps a field (determined by offset) with the same field in right. Read more
§

fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> F
where F: Copy,

Gets a copy of a field (determined by offset). The field is determined by offset. Read more
§

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

§

fn eq_id(&self, other: &Self) -> bool

Compares the address of self with the address of other. Read more
§

fn piped<F, U>(self, f: F) -> U
where F: FnOnce(Self) -> U, Self: Sized,

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

fn piped_ref<'a, F, U>(&'a self, f: F) -> U
where 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
§

fn piped_mut<'a, F, U>(&'a mut self, f: F) -> U
where 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.
§

fn mutated<F>(self, f: F) -> Self
where F: FnOnce(&mut Self), Self: Sized,

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

fn observe<F>(self, f: F) -> Self
where F: FnOnce(&Self), Self: Sized,

Observes the value of self, passing it along unmodified. Useful in long method chains. Read more
§

fn into_<T>(self) -> T
where Self: Into<T>,

Performs a conversion with Into. using the turbofish .into_::<_>() syntax. Read more
§

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

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

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

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

fn drop_(self)
where Self: Sized,

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

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

§

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<This> TransmuteElement for This
where This: ?Sized,

source§

unsafe fn transmute_element<T>(self) -> Self::TransmutedPtr
where Self: CanTransmuteElement<T>,

Transmutes the element type of this pointer.. Read more
source§

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

§

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>,

§

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.
§

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

§

type Type = T

This is always Self.
§

fn into_type(self) -> Self::Type
where Self: Sized, Self::Type: Sized,

Converts a value back to the original type.
§

fn as_type(&self) -> &Self::Type

Converts a reference back to the original type.
§

fn as_type_mut(&mut self) -> &mut Self::Type

Converts a mutable reference back to the original type.
§

fn into_type_box(self: Box<Self>) -> Box<Self::Type>

Converts a box back to the original type.
§

fn into_type_arc(this: Arc<Self>) -> Arc<Self::Type>

Converts an Arc back to the original type. Read more
§

fn into_type_rc(this: Rc<Self>) -> Rc<Self::Type>

Converts an Rc back to the original type. Read more
§

fn from_type(this: Self::Type) -> Self
where Self: Sized, Self::Type: Sized,

Converts a value back to the original type.
§

fn from_type_ref(this: &Self::Type) -> &Self

Converts a reference back to the original type.
§

fn from_type_mut(this: &mut Self::Type) -> &mut Self

Converts a mutable reference back to the original type.
§

fn from_type_box(this: Box<Self::Type>) -> Box<Self>

Converts a box back to the original type.
§

fn from_type_arc(this: Arc<Self::Type>) -> Arc<Self>

Converts an Arc back to the original type.
§

fn from_type_rc(this: Rc<Self::Type>) -> Rc<Self>

Converts an Rc back to the original type.
source§

impl<T> ContextBounds for T
where T: 'static + Clone + Send + Sync + StableAbi,

source§

impl<T> GenericTypeBounds for T
where T: StableAbi,

source§

impl<T> Opaque for T
where T: Opaquable<OpaqueTarget = T>,