Trait abi_stable::abi_stability::stable_abi_trait::StableAbi
source · pub unsafe trait StableAbi: GetStaticEquivalent_ {
type IsNonZeroType: Boolean;
const LAYOUT: &'static TypeLayout;
const ABI_CONSTS: AbiConsts = _;
}
Expand description
Represents a type whose layout is stable.
This trait can be derived using
#[derive(StableAbi)]
.
Safety
The layout specified in LAYOUT
must be correct,
otherwise type checking when loading a dynamic library would be unsound,
and passing this into a dynamic library would be equivalent to transmuting it.
Caveats
This trait cannot be directly implemented for functions that take lifetime parameters,
because of that, #[derive(StableAbi)]
detects the presence of extern fn
types in type definitions.
Required Associated Types§
sourcetype IsNonZeroType: Boolean
type IsNonZeroType: Boolean
Whether this type has a single invalid bit-pattern.
Some standard library types have a single value that is invalid for them eg:0,null.
these types are the only ones which can be stored in a Option<_>
that implements StableAbi.
For an alternative to Option<T>
for types where
IsNonZeroType = False
, you can use ROption
.
Non-exhaustive list of std types that are NonZero:
-
&T
(any T). -
&mut T
(any T). -
extern "C" fn()
. -
std::ptr::NonNull
-
std::num::NonZero*
Required Associated Constants§
sourceconst LAYOUT: &'static TypeLayout
const LAYOUT: &'static TypeLayout
The layout of the type provided by implementors.
Provided Associated Constants§
sourceconst ABI_CONSTS: AbiConsts = _
const ABI_CONSTS: AbiConsts = _
const
-equivalents of the associated types.
Object Safety§
Implementations on Foreign Types§
source§impl StableAbi for c_void
impl StableAbi for c_void
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for Void
impl StableAbi for Void
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for bool
impl StableAbi for bool
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for f32
impl StableAbi for f32
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for f64
impl StableAbi for f64
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for i16
impl StableAbi for i16
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for i32
impl StableAbi for i32
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for i64
impl StableAbi for i64
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for isize
impl StableAbi for isize
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for u16
impl StableAbi for u16
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for u32
impl StableAbi for u32
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for u64
impl StableAbi for u64
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for usize
impl StableAbi for usize
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for PhantomPinned
impl StableAbi for PhantomPinned
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for NonZeroI8
impl StableAbi for NonZeroI8
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for NonZeroI16
impl StableAbi for NonZeroI16
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for NonZeroI32
impl StableAbi for NonZeroI32
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for NonZeroI64
impl StableAbi for NonZeroI64
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for NonZeroIsize
impl StableAbi for NonZeroIsize
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for NonZeroU8
impl StableAbi for NonZeroU8
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for NonZeroU16
impl StableAbi for NonZeroU16
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for NonZeroU32
impl StableAbi for NonZeroU32
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for NonZeroU64
impl StableAbi for NonZeroU64
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for NonZeroUsize
impl StableAbi for NonZeroUsize
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AtomicBool
impl StableAbi for AtomicBool
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AtomicI8
impl StableAbi for AtomicI8
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AtomicI16
impl StableAbi for AtomicI16
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AtomicI32
impl StableAbi for AtomicI32
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AtomicI64
impl StableAbi for AtomicI64
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AtomicIsize
impl StableAbi for AtomicIsize
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AtomicU8
impl StableAbi for AtomicU8
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AtomicU16
impl StableAbi for AtomicU16
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AtomicU32
impl StableAbi for AtomicU32
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AtomicU64
impl StableAbi for AtomicU64
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AtomicUsize
impl StableAbi for AtomicUsize
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for extern "C" fn()
impl StableAbi for extern "C" fn()
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for unsafe extern "C" fn()
impl StableAbi for unsafe extern "C" fn()
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl<'a, T> StableAbi for &'a Twhere
T: 'a + StableAbi,
impl<'a, T> StableAbi for &'a Twhere
T: 'a + StableAbi,
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl<'a, T> StableAbi for &'a mut Twhere
T: 'a + StableAbi,
impl<'a, T> StableAbi for &'a mut Twhere
T: 'a + StableAbi,
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl<P> StableAbi for Cell<P>where
P: StableAbi,
impl<P> StableAbi for Cell<P>where
P: StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<P> StableAbi for UnsafeCell<P>where
P: StableAbi,
impl<P> StableAbi for UnsafeCell<P>where
P: StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<P> StableAbi for ManuallyDrop<P>where
P: StableAbi,
impl<P> StableAbi for ManuallyDrop<P>where
P: StableAbi,
type IsNonZeroType = <P as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<P> StableAbi for Wrapping<P>where
P: StableAbi,
impl<P> StableAbi for Wrapping<P>where
P: StableAbi,
type IsNonZeroType = <P as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<P> StableAbi for Pin<P>where
P: StableAbi,
impl<P> StableAbi for Pin<P>where
P: StableAbi,
type IsNonZeroType = <P as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<T0> StableAbi for PhantomData<(T0,)>where
T0: StableAbi,
impl<T0> StableAbi for PhantomData<(T0,)>where
T0: StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1> StableAbi for PhantomData<(T0, T1)>
impl<T0, T1> StableAbi for PhantomData<(T0, T1)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2> StableAbi for PhantomData<(T0, T1, T2)>
impl<T0, T1, T2> StableAbi for PhantomData<(T0, T1, T2)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3> StableAbi for PhantomData<(T0, T1, T2, T3)>
impl<T0, T1, T2, T3> StableAbi for PhantomData<(T0, T1, T2, T3)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4> StableAbi for PhantomData<(T0, T1, T2, T3, T4)>
impl<T0, T1, T2, T3, T4> StableAbi for PhantomData<(T0, T1, T2, T3, T4)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4, T5> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5)>
impl<T0, T1, T2, T3, T4, T5> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4, T5, T6> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6)>
impl<T0, T1, T2, T3, T4, T5, T6> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4, T5, T6, T7> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7)>
impl<T0, T1, T2, T3, T4, T5, T6, T7> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> StableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for Option<T>
impl<T> StableAbi for Option<T>
Implementing abi stability for Option<T>
is fine if
T is a NonZero primitive type.
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for *const Twhere
T: StableAbi,
impl<T> StableAbi for *const Twhere
T: StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for *mut Twhere
T: StableAbi,
impl<T> StableAbi for *mut Twhere
T: StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for PhantomData<T>where
T: StableAbi,
impl<T> StableAbi for PhantomData<T>where
T: StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for NonNull<T>where
T: StableAbi,
impl<T> StableAbi for NonNull<T>where
T: StableAbi,
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for AtomicPtr<T>where
T: StableAbi,
impl<T> StableAbi for AtomicPtr<T>where
T: StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for MaybeUninit<T>where
T: StableAbi,
impl<T> StableAbi for MaybeUninit<T>where
T: StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T, const N: usize> StableAbi for [T; N]where
T: StableAbi,
impl<T, const N: usize> StableAbi for [T; N]where
T: StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
Implementors§
source§impl StableAbi for ROnceState
impl StableAbi for ROnceState
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for IsLayoutChecked
impl StableAbi for IsLayoutChecked
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for RootModuleError
impl StableAbi for RootModuleError
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for CallReferentDrop
impl StableAbi for CallReferentDrop
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for Deallocate
impl StableAbi for Deallocate
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for PointerKind
impl StableAbi for PointerKind
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for IsAccessible
impl StableAbi for IsAccessible
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for IsConditional
impl StableAbi for IsConditional
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for ModReflMode
impl StableAbi for ModReflMode
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for RCmpOrdering
impl StableAbi for RCmpOrdering
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for RSeekFrom
impl StableAbi for RSeekFrom
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for DiscriminantRepr
impl StableAbi for DiscriminantRepr
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for FieldAccessor
impl StableAbi for FieldAccessor
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for GenericTLData
impl StableAbi for GenericTLData
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for MonoTLData
impl StableAbi for MonoTLData
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for ReprAttr
impl StableAbi for ReprAttr
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLDataDiscriminant
impl StableAbi for TLDataDiscriminant
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLDiscriminant
impl StableAbi for TLDiscriminant
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLFieldOrFunction
impl StableAbi for TLFieldOrFunction
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLPrimitive
impl StableAbi for TLPrimitive
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for CTVariant
impl StableAbi for CTVariant
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for Primitive
impl StableAbi for Primitive
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TagVariant
impl StableAbi for TagVariant
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for ExtraChecksError
impl StableAbi for ExtraChecksError
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for CloneEqInterface
impl StableAbi for CloneEqInterface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for CloneInterface
impl StableAbi for CloneInterface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for DebugDefEqInterface
impl StableAbi for DebugDefEqInterface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for DebugDisplayInterface
impl StableAbi for DebugDisplayInterface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for DefaultInterface
impl StableAbi for DefaultInterface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for FmtWriteInterface
impl StableAbi for FmtWriteInterface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for IoWriteInterface
impl StableAbi for IoWriteInterface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for PartialEqInterface
impl StableAbi for PartialEqInterface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for UnpinInterface
impl StableAbi for UnpinInterface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for RequiredTraits
impl StableAbi for RequiredTraits
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TypeInfo
impl StableAbi for TypeInfo
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for DebugDisplayObject
impl StableAbi for DebugDisplayObject
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for ROnce
impl StableAbi for ROnce
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for RawValueBox
Available on crate feature serde_json
only.
impl StableAbi for RawValueBox
serde_json
only.type IsNonZeroType = <RString as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for Module_Refwhere
Module: PrefixTypeTrait,
impl StableAbi for Module_Refwhere
Module: PrefixTypeTrait,
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = <__sabi_re::PrefixRef<Module_Prefix> as __sabi_re::StableAbi>::LAYOUT
source§impl StableAbi for ValidTag_Interface
impl StableAbi for ValidTag_Interface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for ValidTag_Storage
impl StableAbi for ValidTag_Storage
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for CAbiTestingFns
impl StableAbi for CAbiTestingFns
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AbiHeader
impl StableAbi for AbiHeader
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AbiHeaderRef
impl StableAbi for AbiHeaderRef
type IsNonZeroType = <RRef<'static, AbiHeader> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for LibHeader
impl StableAbi for LibHeader
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for RootModuleConsts
impl StableAbi for RootModuleConsts
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for NotCopyNotClone
impl StableAbi for NotCopyNotClone
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for SyncSend
impl StableAbi for SyncSend
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for SyncUnsend
impl StableAbi for SyncUnsend
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for UnsyncSend
impl StableAbi for UnsyncSend
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for UnsyncUnsend
impl StableAbi for UnsyncUnsend
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for EnumInfo
impl StableAbi for EnumInfo
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for PTStructLayout
impl StableAbi for PTStructLayout
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for Action_Interface
impl StableAbi for Action_Interface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for ConstExample_Interface
impl StableAbi for ConstExample_Interface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for Doer_Interface
impl StableAbi for Doer_Interface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for VersionNumber
impl StableAbi for VersionNumber
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for VersionStrings
impl StableAbi for VersionStrings
type IsNonZeroType = <RStr<'static> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for RDuration
impl StableAbi for RDuration
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for RIoError
impl StableAbi for RIoError
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for RIoErrorKind
impl StableAbi for RIoErrorKind
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for RString
impl StableAbi for RString
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for UTypeId
impl StableAbi for UTypeId
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for CompFieldAccessor
impl StableAbi for CompFieldAccessor
type IsNonZeroType = <u8 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for CompGenericParams
impl StableAbi for CompGenericParams
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for CompTLField
impl StableAbi for CompTLField
type IsNonZeroType = <u64 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for CompTLFields
impl StableAbi for CompTLFields
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for CompTLFunction
impl StableAbi for CompTLFunction
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for GenericTLEnum
impl StableAbi for GenericTLEnum
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for GenericTLPrefixType
impl StableAbi for GenericTLPrefixType
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for IncompatibleWithNonExhaustive
impl StableAbi for IncompatibleWithNonExhaustive
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for IsExhaustive
impl StableAbi for IsExhaustive
type IsNonZeroType = <Option<&'static TLNonExhaustive> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for ItemInfo
impl StableAbi for ItemInfo
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for LifetimeIndex
impl StableAbi for LifetimeIndex
type IsNonZeroType = <u8 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for LifetimeIndexArray
impl StableAbi for LifetimeIndexArray
type IsNonZeroType = <u32 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for LifetimeIndexPair
impl StableAbi for LifetimeIndexPair
type IsNonZeroType = <u8 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for LifetimeRange
impl StableAbi for LifetimeRange
type IsNonZeroType = <u32 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for ModPath
impl StableAbi for ModPath
type IsNonZeroType = <NulStr<'static> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for MonoTLEnum
impl StableAbi for MonoTLEnum
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for MonoTLPrefixType
impl StableAbi for MonoTLPrefixType
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for MonoTypeLayout
impl StableAbi for MonoTypeLayout
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for OptionU8
impl StableAbi for OptionU8
type IsNonZeroType = <u8 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for OptionU16
impl StableAbi for OptionU16
type IsNonZeroType = <u16 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for StartLen
impl StableAbi for StartLen
type IsNonZeroType = <u32 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLDiscriminants
impl StableAbi for TLDiscriminants
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLField
impl StableAbi for TLField
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLFields
impl StableAbi for TLFields
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLFunction
impl StableAbi for TLFunction
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLFunctionQualifiers
impl StableAbi for TLFunctionQualifiers
type IsNonZeroType = <u16 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLFunctionSlice
impl StableAbi for TLFunctionSlice
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLFunctions
impl StableAbi for TLFunctions
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLNonExhaustive
impl StableAbi for TLNonExhaustive
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TLPrefixType
impl StableAbi for TLPrefixType
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TypeLayout
impl StableAbi for TypeLayout
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TypeLayoutIndex
impl StableAbi for TypeLayoutIndex
type IsNonZeroType = <u16 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TypeLayoutRange
impl StableAbi for TypeLayoutRange
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for CheckableTag
impl StableAbi for CheckableTag
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for Tag
impl StableAbi for Tag
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for ExtraChecks_Interface
impl StableAbi for ExtraChecks_Interface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for TypeChecker_Interface
impl StableAbi for TypeChecker_Interface
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for ConstGeneric
impl StableAbi for ConstGeneric
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl StableAbi for AbiConsts
impl StableAbi for AbiConsts
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'a> StableAbi for LifetimeArrayOrSlice<'a>
impl<'a> StableAbi for LifetimeArrayOrSlice<'a>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'a> StableAbi for HasherObject<'a>
impl<'a> StableAbi for HasherObject<'a>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'a> StableAbi for RawValueRef<'a>
Available on crate feature serde_json
only.
impl<'a> StableAbi for RawValueRef<'a>
serde_json
only.type IsNonZeroType = <RStr<'a> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<'a> StableAbi for NulStr<'a>
impl<'a> StableAbi for NulStr<'a>
type IsNonZeroType = <NonNull<u8> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<'a> StableAbi for RStr<'a>
impl<'a> StableAbi for RStr<'a>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'a> StableAbi for MultipleTypeLayouts<'a>
impl<'a> StableAbi for MultipleTypeLayouts<'a>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'a, K, V> StableAbi for REntry<'a, K, V>where
K: __StableAbi + 'a,
V: __StableAbi + 'a,
impl<'a, K, V> StableAbi for REntry<'a, K, V>where
K: __StableAbi + 'a,
V: __StableAbi + 'a,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'a, K, V> StableAbi for Keys<'a, K, V>where
K: __StableAbi + 'a,
V: __StableAbi + 'a,
impl<'a, K, V> StableAbi for Keys<'a, K, V>where
K: __StableAbi + 'a,
V: __StableAbi + 'a,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'a, K, V> StableAbi for ROccupiedEntry<'a, K, V>where
K: __StableAbi + 'a,
V: __StableAbi + 'a,
impl<'a, K, V> StableAbi for ROccupiedEntry<'a, K, V>where
K: __StableAbi + 'a,
V: __StableAbi + 'a,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'a, K, V> StableAbi for RVacantEntry<'a, K, V>where
K: __StableAbi + 'a,
V: __StableAbi + 'a,
impl<'a, K, V> StableAbi for RVacantEntry<'a, K, V>where
K: __StableAbi + 'a,
V: __StableAbi + 'a,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'a, K, V> StableAbi for Values<'a, K, V>where
K: __StableAbi + 'a,
V: __StableAbi + 'a,
impl<'a, K, V> StableAbi for Values<'a, K, V>where
K: __StableAbi + 'a,
V: __StableAbi + 'a,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'a, T> StableAbi for RMutexGuard<'a, T>where
T: __StableAbi + 'a,
impl<'a, T> StableAbi for RMutexGuard<'a, T>where
T: __StableAbi + 'a,
type IsNonZeroType = <&'a RMutex<T> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<'a, T> StableAbi for RReadGuard<'a, T>where
T: __StableAbi + 'a,
impl<'a, T> StableAbi for RReadGuard<'a, T>where
T: __StableAbi + 'a,
type IsNonZeroType = <&'a RRwLock<T> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<'a, T> StableAbi for RWriteGuard<'a, T>where
T: __StableAbi + 'a,
impl<'a, T> StableAbi for RWriteGuard<'a, T>where
T: __StableAbi + 'a,
type IsNonZeroType = <&'a RRwLock<T> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<'a, T> StableAbi for MovePtr<'a, T>where
T: __StableAbi + 'a,
impl<'a, T> StableAbi for MovePtr<'a, T>where
T: __StableAbi + 'a,
type IsNonZeroType = <NonNull<T> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<'a, T> StableAbi for RMut<'a, T>where
T: __StableAbi + 'a,
impl<'a, T> StableAbi for RMut<'a, T>where
T: __StableAbi + 'a,
type IsNonZeroType = <NonNull<T> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<'a, T> StableAbi for RRef<'a, T>where
T: __StableAbi + 'a,
impl<'a, T> StableAbi for RRef<'a, T>where
T: __StableAbi + 'a,
type IsNonZeroType = <NonNull<T> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<'a, T> StableAbi for RSlice<'a, T>where
T: __StableAbi + 'a,
impl<'a, T> StableAbi for RSlice<'a, T>where
T: __StableAbi + 'a,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'a, T> StableAbi for RSliceMut<'a, T>where
T: __StableAbi + 'a,
impl<'a, T> StableAbi for RSliceMut<'a, T>where
T: __StableAbi + 'a,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'borr, ErasedPtr, I> StableAbi for VTable_Ref<'borr, ErasedPtr, I>where
ErasedPtr: __StableAbi,
I: __StableAbi + IteratorItemOrDefault<'borr> + GetSerializeProxyType<'borr> + InterfaceType,
<I as IteratorItemOrDefault<'borr>>::Item: StableAbi,
<I as GetSerializeProxyType<'borr>>::ProxyType: StableAbi,
VTable<'borr, ErasedPtr, I>: PrefixTypeTrait,
impl<'borr, ErasedPtr, I> StableAbi for VTable_Ref<'borr, ErasedPtr, I>where
ErasedPtr: __StableAbi,
I: __StableAbi + IteratorItemOrDefault<'borr> + GetSerializeProxyType<'borr> + InterfaceType,
<I as IteratorItemOrDefault<'borr>>::Item: StableAbi,
<I as GetSerializeProxyType<'borr>>::ProxyType: StableAbi,
VTable<'borr, ErasedPtr, I>: PrefixTypeTrait,
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = <__sabi_re::PrefixRef<VTable_Prefix<'borr, ErasedPtr, I>> as __sabi_re::StableAbi>::LAYOUT
source§impl<'borr, P, I, EV> StableAbi for DynTrait<'borr, P, I, EV>where
P: GetPointerKind + __StableAbi,
I: __StableAbi + InterfaceType,
EV: __StableAbi,
VTable_Ref<'borr, P, I>: StableAbi,
impl<'borr, P, I, EV> StableAbi for DynTrait<'borr, P, I, EV>where
P: GetPointerKind + __StableAbi,
I: __StableAbi + InterfaceType,
EV: __StableAbi,
VTable_Ref<'borr, P, I>: StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'lt, P, I, V> StableAbi for RObject<'lt, P, I, V>where
P: GetPointerKind + __StableAbi,
I: __StableAbi + InterfaceType,
V: __GetStaticEquivalent_ + PrefixStableAbi,
impl<'lt, P, I, V> StableAbi for RObject<'lt, P, I, V>where
P: GetPointerKind + __StableAbi,
I: __StableAbi + InterfaceType,
V: __GetStaticEquivalent_ + PrefixStableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<'lt, _ErasedPtr> StableAbi for Action_TO<'lt, _ErasedPtr>
impl<'lt, _ErasedPtr> StableAbi for Action_TO<'lt, _ErasedPtr>
type IsNonZeroType = <RObject<'lt, _ErasedPtr, Action_Interface, VTable_Prefix<(), _ErasedPtr>> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<'lt, _ErasedPtr> StableAbi for ConstExample_TO<'lt, _ErasedPtr>
impl<'lt, _ErasedPtr> StableAbi for ConstExample_TO<'lt, _ErasedPtr>
type IsNonZeroType = <DynTrait<'lt, _ErasedPtr, ConstExample_Interface, PrefixRef<VTable_Prefix<(), _ErasedPtr>>> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<'lt, _ErasedPtr> StableAbi for Doer_TO<'lt, _ErasedPtr>
impl<'lt, _ErasedPtr> StableAbi for Doer_TO<'lt, _ErasedPtr>
type IsNonZeroType = <RObject<'lt, _ErasedPtr, Doer_Interface, VTable_Prefix<(), _ErasedPtr>> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<A> StableAbi for Tuple1<A>where
A: __StableAbi,
impl<A> StableAbi for Tuple1<A>where
A: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<A> StableAbi for ArrayLen<A>where
A: __StableAbi,
impl<A> StableAbi for ArrayLen<A>where
A: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<A, B> StableAbi for Tuple2<A, B>where
A: __StableAbi,
B: __StableAbi,
impl<A, B> StableAbi for Tuple2<A, B>where
A: __StableAbi,
B: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<A, B, C> StableAbi for Tuple3<A, B, C>
impl<A, B, C> StableAbi for Tuple3<A, B, C>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<A, B, C, D> StableAbi for Tuple4<A, B, C, D>
impl<A, B, C, D> StableAbi for Tuple4<A, B, C, D>
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<B, O> StableAbi for RCow<B, O>where
B: __StableAbi,
O: __StableAbi,
impl<B, O> StableAbi for RCow<B, O>where
B: __StableAbi,
O: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<E> StableAbi for BitArray64<E>where
E: __StableAbi,
impl<E> StableAbi for BitArray64<E>where
E: __StableAbi,
type IsNonZeroType = <u64 as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<E, S, I> StableAbi for NonExhaustive<E, S, I>where
E: __GetStaticEquivalent_ + NonExhaustiveMarker<S>,
S: __GetStaticEquivalent_,
I: __GetStaticEquivalent_ + InterfaceType,
NonExhaustiveVtable_Ref<E, S, I>: StableAbi,
<E as NonExhaustiveMarker<S>>::Marker: __StableAbi,
impl<E, S, I> StableAbi for NonExhaustive<E, S, I>where
E: __GetStaticEquivalent_ + NonExhaustiveMarker<S>,
S: __GetStaticEquivalent_,
I: __GetStaticEquivalent_ + InterfaceType,
NonExhaustiveVtable_Ref<E, S, I>: StableAbi,
<E as NonExhaustiveMarker<S>>::Marker: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo1<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo1<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo2<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo2<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo4<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo4<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo8<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo8<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo16<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo16<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo32<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo32<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo64<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo64<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo128<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo128<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo256<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo256<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo512<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo512<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo1024<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo1024<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo2048<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo2048<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo4096<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo4096<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo8192<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo8192<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo16384<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo16384<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<Inline> StableAbi for AlignTo32768<Inline>where
Inline: __StableAbi,
impl<Inline> StableAbi for AlignTo32768<Inline>where
Inline: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<K, V> StableAbi for IntoIter<K, V>where
K: __StableAbi,
V: __StableAbi,
impl<K, V> StableAbi for IntoIter<K, V>where
K: __StableAbi,
V: __StableAbi,
type IsNonZeroType = <DynTrait<'static, RBox<()>, ValIterInterface<u32, u32>> as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<K, V> StableAbi for MutIterInterface<K, V>where
K: __StableAbi,
V: __StableAbi,
impl<K, V> StableAbi for MutIterInterface<K, V>where
K: __StableAbi,
V: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<K, V> StableAbi for RefIterInterface<K, V>where
K: __StableAbi,
V: __StableAbi,
impl<K, V> StableAbi for RefIterInterface<K, V>where
K: __StableAbi,
V: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<K, V> StableAbi for ValIterInterface<K, V>where
K: __StableAbi,
V: __StableAbi,
impl<K, V> StableAbi for ValIterInterface<K, V>where
K: __StableAbi,
V: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<K, V, S> StableAbi for RHashMap<K, V, S>where
K: __StableAbi,
V: __StableAbi,
impl<K, V, S> StableAbi for RHashMap<K, V, S>where
K: __StableAbi,
V: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<M> StableAbi for RBoxError_<M>where
M: __StableAbi,
impl<M> StableAbi for RBoxError_<M>where
M: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<N> StableAbi for UnwrapEnumError<N>where
N: __StableAbi,
impl<N> StableAbi for UnwrapEnumError<N>where
N: __StableAbi,
type IsNonZeroType = <N as StableAbi>::IsNonZeroType
const LAYOUT: &'static TypeLayout = _
source§impl<P> StableAbi for PrefixRef<P>where
P: PrefixStableAbi,
impl<P> StableAbi for PrefixRef<P>where
P: PrefixStableAbi,
type IsNonZeroType = True
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for ConstructorOrValue<T>where
T: __StableAbi,
impl<T> StableAbi for ConstructorOrValue<T>where
T: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for MaybeCmp<T>where
T: __StableAbi,
impl<T> StableAbi for MaybeCmp<T>where
T: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for ROption<T>where
T: __StableAbi,
impl<T> StableAbi for ROption<T>where
T: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for DEIteratorCloneInterface<T>where
T: __StableAbi,
impl<T> StableAbi for DEIteratorCloneInterface<T>where
T: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for DEIteratorInterface<T>where
T: __StableAbi,
impl<T> StableAbi for DEIteratorInterface<T>where
T: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for IteratorInterface<T>where
T: __StableAbi,
impl<T> StableAbi for IteratorInterface<T>where
T: __StableAbi,
type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for RReceiver<T>where
T: __StableAbi,
Available on crate feature channels
only.
impl<T> StableAbi for RReceiver<T>where
T: __StableAbi,
channels
only.type IsNonZeroType = False
const LAYOUT: &'static TypeLayout = _
source§impl<T> StableAbi for RSender<T>where
T: __StableAbi,
Available on crate feature channels
only.
impl<T> StableAbi for RSender<T>where
T: __StableAbi,
channels
only.