abi_stable::abi_stability::extra_checks

Type Alias TypeCheckerMut

Source
pub type TypeCheckerMut<'b> = TypeChecker_TO<RMut<'b, ()>>;
Expand description

An ffi-safe equivalent of &’b mut dyn TypeChecker

Aliased Type§

struct TypeCheckerMut<'b> {
    pub obj: RObject<'static, RMut<'b, ()>, TypeChecker_Interface, VTable_Prefix<(), RMut<'b, ()>>>,
    /* private fields */
}

Fields§

§obj: RObject<'static, RMut<'b, ()>, TypeChecker_Interface, VTable_Prefix<(), RMut<'b, ()>>>

Implementations

Source§

impl<_ErasedPtr> TypeChecker_TO<_ErasedPtr>
where _ErasedPtr: AsPtr<PtrTarget = ()>,

Source

pub fn from_ptr<_OrigPtr, Downcasting>( ptr: _OrigPtr, can_it_downcast: Downcasting, ) -> Self
where _OrigPtr: CanTransmuteElement<(), TransmutedPtr = _ErasedPtr>, _OrigPtr::PtrTarget: TypeChecker + Sized, TypeChecker_Interface: GetRObjectVTable<Downcasting, _OrigPtr::PtrTarget, _ErasedPtr, _OrigPtr>,

Constructs this trait object from a pointer to a type that implements TypeChecker.

This method is automatically generated, for more documentation you can look at abi_stable::docs::sabi_trait_inherent

can_it_downcast describes whether the trait object can be converted back into the original type or not.
Its possible values are TD_CanDowncast and TD_Opaque.

Source

pub fn from_sabi(obj: TypeChecker_Backend<_ErasedPtr>) -> Self

Constructs this trait object from its underlying implementation.

This method is automatically generated, for more documentation you can look at abi_stable::docs::sabi_trait_inherent

Source

pub fn sabi_reborrow<'_sub>(&'_sub self) -> TypeChecker_TO<RRef<'_sub, ()>>

Reborrows this trait object to a reference-based trait object.

This method is automatically generated, for more documentation you can look at abi_stable::docs::sabi_trait_inherent

Source

pub fn sabi_reborrow_mut<'_sub>( &'_sub mut self, ) -> TypeChecker_TO<RMut<'_sub, ()>>
where _ErasedPtr: AsMutPtr<PtrTarget = ()>,

Reborrows this trait object to a mutable-reference-based trait object.

This method is automatically generated, for more documentation you can look at abi_stable::docs::sabi_trait_inherent

Source§

impl<_ErasedPtr> TypeChecker_TO<_ErasedPtr>
where _ErasedPtr: AsPtr<PtrTarget = ()>, Self: Send + Sync,

Source

pub fn check_compatibility( &mut self, param_0: &'static TypeLayout, param_1: &'static TypeLayout, ) -> RResult<(), ExtraChecksError>
where _ErasedPtr: AsMutPtr<PtrTarget = ()>,

This is the inherent equivalent of the trait method of the same name

Source

pub fn local_check_compatibility( &mut self, param_0: &'static TypeLayout, param_1: &'static TypeLayout, ) -> RResult<(), ExtraChecksError>
where _ErasedPtr: AsMutPtr<PtrTarget = ()>,

This is the inherent equivalent of the trait method of the same name

Trait Implementations

Source§

impl<_ErasedPtr> GetStaticEquivalent_ for TypeChecker_TO<_ErasedPtr>
where _ErasedPtr: __GetPointerKind + __StableAbi, TypeChecker_Backend<_ErasedPtr>: StableAbi,

Source§

type StaticEquivalent = _static_TypeChecker_TO<<_ErasedPtr as GetStaticEquivalent_>::StaticEquivalent>

The 'static equivalent of Self
Source§

impl<_ErasedPtr> StableAbi for TypeChecker_TO<_ErasedPtr>
where _ErasedPtr: __GetPointerKind + __StableAbi, TypeChecker_Backend<_ErasedPtr>: StableAbi,

Source§

const LAYOUT: &'static TypeLayout = _

The layout of the type provided by implementors.
Source§

type IsNonZeroType = <RObject<'static, _ErasedPtr, TypeChecker_Interface, VTable_Prefix<(), _ErasedPtr>> as StableAbi>::IsNonZeroType

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

const ABI_CONSTS: AbiConsts = _

const-equivalents of the associated types.
Source§

impl<_ErasedPtr> Send for TypeChecker_TO<_ErasedPtr>
where _ErasedPtr: __GetPointerKind,

Source§

impl<_ErasedPtr> Sync for TypeChecker_TO<_ErasedPtr>
where _ErasedPtr: __GetPointerKind,