[−][src]Trait abi_stable::abi_stability::stable_abi_trait::SharedStableAbi
Represents a type whose layout is stable.
This trait can be derived using ``.
Safety
The layout specified in S_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.
Associated Types
type IsNonZeroType: Boolean
Whether this type has a single invalid bit-pattern.
Possible values:True/False
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 AbiStable.
An alternative for types where IsNonZeroType=False
,you can use abi_stable::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*
type Kind: TypeKindTrait
The kind of abi stability of this type,there are 2:
-
ValueKind:The layout of this type does not change in minor versions.
-
PrefixKind: A struct which can add fields in minor versions, only usable behind a shared reference, used to implement extensible vtables and modules.
Associated Constants
const S_LAYOUT: &'static TypeLayout
The layout of the type provided by implementors.
const S_ABI_CONSTS: AbiConsts
Implementations on Foreign Types
impl<T> SharedStableAbi for PhantomData<T> where
T: StableAbi,
[src]
T: StableAbi,
impl<T0> SharedStableAbi for PhantomData<(T0,)> where
T0: StableAbi,
[src]
T0: StableAbi,
impl<T0, T1> SharedStableAbi for PhantomData<(T0, T1)> where
T0: StableAbi,
T1: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
impl<T0, T1, T2> SharedStableAbi for PhantomData<(T0, T1, T2)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
impl<T0, T1, T2, T3> SharedStableAbi for PhantomData<(T0, T1, T2, T3)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
impl<T0, T1, T2, T3, T4> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
impl<T0, T1, T2, T3, T4, T5> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4, T5)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
impl<T0, T1, T2, T3, T4, T5, T6> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
impl<T0, T1, T2, T3, T4, T5, T6, T7> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
T11: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
T11: StableAbi,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
T11: StableAbi,
T12: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
T11: StableAbi,
T12: StableAbi,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
T11: StableAbi,
T12: StableAbi,
T13: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
T11: StableAbi,
T12: StableAbi,
T13: StableAbi,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
T11: StableAbi,
T12: StableAbi,
T13: StableAbi,
T14: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
T11: StableAbi,
T12: StableAbi,
T13: StableAbi,
T14: StableAbi,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> SharedStableAbi for PhantomData<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> where
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
T11: StableAbi,
T12: StableAbi,
T13: StableAbi,
T14: StableAbi,
T15: StableAbi,
[src]
T0: StableAbi,
T1: StableAbi,
T2: StableAbi,
T3: StableAbi,
T4: StableAbi,
T5: StableAbi,
T6: StableAbi,
T7: StableAbi,
T8: StableAbi,
T9: StableAbi,
T10: StableAbi,
T11: StableAbi,
T12: StableAbi,
T13: StableAbi,
T14: StableAbi,
T15: StableAbi,
impl SharedStableAbi for ()
[src]
impl<'a, T> SharedStableAbi for &'a T where
T: 'a + SharedStableAbi,
[src]
T: 'a + SharedStableAbi,
impl<'a, T> SharedStableAbi for &'a mut T where
T: 'a + StableAbi,
[src]
T: 'a + StableAbi,
impl<T> SharedStableAbi for NonNull<T> where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for AtomicPtr<T> where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for *const T where
T: SharedStableAbi,
[src]
T: SharedStableAbi,
impl<T> SharedStableAbi for *mut T where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 0] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 1] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 2] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 3] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 4] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 5] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 6] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 7] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 8] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 9] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 10] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 11] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 12] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 13] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 14] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 15] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 16] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 17] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 18] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 19] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 20] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 21] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 22] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 23] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 24] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 25] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 26] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 27] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 28] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 29] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 30] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 31] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for [T; 32] where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for Option<T> where
T: StableAbi<IsNonZeroType = True>,
[src]
T: StableAbi<IsNonZeroType = True>,
Implementing abi stability for Option
impl SharedStableAbi for u8
[src]
impl SharedStableAbi for i8
[src]
impl SharedStableAbi for u16
[src]
impl SharedStableAbi for i16
[src]
impl SharedStableAbi for u32
[src]
impl SharedStableAbi for i32
[src]
impl SharedStableAbi for u64
[src]
impl SharedStableAbi for i64
[src]
impl SharedStableAbi for usize
[src]
impl SharedStableAbi for isize
[src]
impl SharedStableAbi for bool
[src]
impl SharedStableAbi for AtomicBool
[src]
impl SharedStableAbi for AtomicIsize
[src]
impl SharedStableAbi for AtomicUsize
[src]
impl SharedStableAbi for NonZeroU8
[src]
impl SharedStableAbi for NonZeroU16
[src]
impl SharedStableAbi for NonZeroU32
[src]
impl SharedStableAbi for NonZeroU64
[src]
impl SharedStableAbi for NonZeroUsize
[src]
impl SharedStableAbi for AtomicI8
[src]
impl SharedStableAbi for AtomicI16
[src]
impl SharedStableAbi for AtomicI32
[src]
impl SharedStableAbi for AtomicI64
[src]
impl SharedStableAbi for AtomicU8
[src]
impl SharedStableAbi for AtomicU16
[src]
impl SharedStableAbi for AtomicU32
[src]
impl SharedStableAbi for AtomicU64
[src]
impl SharedStableAbi for NonZeroI8
[src]
impl SharedStableAbi for NonZeroI16
[src]
impl SharedStableAbi for NonZeroI32
[src]
impl SharedStableAbi for NonZeroI64
[src]
impl SharedStableAbi for NonZeroIsize
[src]
impl<P> SharedStableAbi for Wrapping<P> where
P: StableAbi,
[src]
P: StableAbi,
impl<P> SharedStableAbi for Pin<P> where
P: StableAbi,
[src]
P: StableAbi,
impl<P> SharedStableAbi for ManuallyDrop<P> where
P: StableAbi,
[src]
P: StableAbi,
impl<P> SharedStableAbi for Cell<P> where
P: StableAbi,
[src]
P: StableAbi,
impl<P> SharedStableAbi for UnsafeCell<P> where
P: StableAbi,
[src]
P: StableAbi,
impl SharedStableAbi for PhantomPinned
[src]
impl SharedStableAbi for Void
[src]
impl SharedStableAbi for extern "C" fn()
[src]
impl SharedStableAbi for unsafe extern "C" fn()
[src]
Loading content...
Implementors
impl SharedStableAbi for ExtraChecksError
[src]
impl SharedStableAbi for TypeKind
[src]
impl SharedStableAbi for FormattingMode
[src]
impl SharedStableAbi for ROnceState
[src]
impl SharedStableAbi for IsLayoutChecked
[src]
impl SharedStableAbi for CallReferentDrop
[src]
impl SharedStableAbi for Deallocate
[src]
impl SharedStableAbi for PointerKind
[src]
impl SharedStableAbi for IsAccessible
[src]
impl SharedStableAbi for IsConditional
[src]
impl SharedStableAbi for ModReflMode
[src]
impl SharedStableAbi for RCmpOrdering
[src]
impl SharedStableAbi for RSeekFrom
[src]
impl SharedStableAbi for DiscriminantRepr
[src]
impl SharedStableAbi for FieldAccessor
[src]
impl SharedStableAbi for GenericTLData
[src]
impl SharedStableAbi for MonoTLData
[src]
impl SharedStableAbi for ReprAttr
[src]
impl SharedStableAbi for TLDataDiscriminant
[src]
impl SharedStableAbi for TLDiscriminant
[src]
impl SharedStableAbi for TLFieldOrFunction
[src]
impl SharedStableAbi for TLPrimitive
[src]
impl SharedStableAbi for CTVariant
[src]
impl SharedStableAbi for Primitive
[src]
impl SharedStableAbi for TagErrorVariant
[src]
impl SharedStableAbi for TagVariant
[src]
impl SharedStableAbi for ConstGeneric
[src]
impl SharedStableAbi for ExtraChecks_Interface
[src]
impl SharedStableAbi for TypeChecker_Interface
[src]
impl SharedStableAbi for AbiConsts
[src]
impl SharedStableAbi for EnabledTraits
[src]
impl SharedStableAbi for CloneEqInterface
[src]
impl SharedStableAbi for CloneInterface
[src]
impl SharedStableAbi for DebugDisplayInterface
[src]
impl SharedStableAbi for DefaultInterface
[src]
impl SharedStableAbi for FmtWriteInterface
[src]
impl SharedStableAbi for IoWriteInterface
[src]
impl SharedStableAbi for PartialEqInterface
[src]
impl SharedStableAbi for DebugDisplayObject
[src]
impl SharedStableAbi for TypeInfo
[src]
impl SharedStableAbi for ROnce
[src]
impl SharedStableAbi for RawValueBox
[src]
type IsNonZeroType = <RString as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for AbiHeader
[src]
impl SharedStableAbi for CAbiTestingFns
[src]
impl SharedStableAbi for ErasedRootModuleConsts
[src]
impl SharedStableAbi for LibHeader
[src]
impl SharedStableAbi for NotCopyNotClone
[src]
impl SharedStableAbi for SyncSend
[src]
impl SharedStableAbi for SyncUnsend
[src]
impl SharedStableAbi for UnsyncSend
[src]
impl SharedStableAbi for UnsyncUnsend
[src]
impl SharedStableAbi for EnumInfo
[src]
impl SharedStableAbi for PTStructLayout
[src]
impl SharedStableAbi for ConstExample_Interface
[src]
impl SharedStableAbi for VersionNumber
[src]
impl SharedStableAbi for VersionStrings
[src]
impl SharedStableAbi for RIoError
[src]
impl SharedStableAbi for RIoErrorKind
[src]
impl SharedStableAbi for RString
[src]
impl SharedStableAbi for StaticStr
[src]
impl SharedStableAbi for RDuration
[src]
impl SharedStableAbi for UTypeId
[src]
impl SharedStableAbi for CompFieldAccessor
[src]
type IsNonZeroType = <u8 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for CompGenericParams
[src]
impl SharedStableAbi for CompTLField
[src]
type IsNonZeroType = <u64 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for CompTLFields
[src]
impl SharedStableAbi for CompTLFunction
[src]
impl SharedStableAbi for GenericTLEnum
[src]
impl SharedStableAbi for GenericTLPrefixType
[src]
impl SharedStableAbi for IncompatibleWithNonExhaustive
[src]
impl SharedStableAbi for IsExhaustive
[src]
type IsNonZeroType = <Option<&'static TLNonExhaustive> as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for ItemInfo
[src]
impl SharedStableAbi for LifetimeIndex
[src]
type IsNonZeroType = <u8 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for LifetimeIndexArray
[src]
type IsNonZeroType = <u32 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for LifetimeIndexPair
[src]
type IsNonZeroType = <u8 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for LifetimeRange
[src]
type IsNonZeroType = <u32 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for ModPath
[src]
type IsNonZeroType = <NulStr<'static> as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for MonoSharedVars
[src]
impl SharedStableAbi for MonoTLEnum
[src]
impl SharedStableAbi for MonoTLPrefixType
[src]
impl SharedStableAbi for MonoTypeLayout
[src]
impl SharedStableAbi for OptionU16
[src]
type IsNonZeroType = <u16 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for OptionU8
[src]
type IsNonZeroType = <u8 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for SharedVars
[src]
impl SharedStableAbi for StartLen
[src]
type IsNonZeroType = <u32 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for TLDiscriminants
[src]
impl SharedStableAbi for TLField
[src]
impl SharedStableAbi for TLFields
[src]
impl SharedStableAbi for TLFunction
[src]
impl SharedStableAbi for TLFunctionSlice
[src]
impl SharedStableAbi for TLFunctions
[src]
impl SharedStableAbi for TLNonExhaustive
[src]
impl SharedStableAbi for TLPrefixType
[src]
impl SharedStableAbi for TypeLayout
[src]
impl SharedStableAbi for TypeLayoutIndex
[src]
type IsNonZeroType = <u16 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl SharedStableAbi for TypeLayoutRange
[src]
impl SharedStableAbi for CheckableTag
[src]
impl SharedStableAbi for Tag
[src]
impl<'a> SharedStableAbi for LifetimeArrayOrSlice<'a>
[src]
impl<'a> SharedStableAbi for HasherObject<'a>
[src]
impl<'a> SharedStableAbi for RawValueRef<'a>
[src]
type IsNonZeroType = <RStr<'a> as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<'a> SharedStableAbi for NulStr<'a>
[src]
type IsNonZeroType = <*const u8 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<'a> SharedStableAbi for RStr<'a>
[src]
impl<'a> SharedStableAbi for MultipleTypeLayouts<'a>
[src]
impl<'a, B: ?Sized> SharedStableAbi for RCow<'a, B> where
B: BorrowOwned<'a>,
B: __GetStaticEquivalent_,
<B as BorrowOwned<'a>>::RBorrowed: StableAbi,
<B as BorrowOwned<'a>>::ROwned: StableAbi,
[src]
B: BorrowOwned<'a>,
B: __GetStaticEquivalent_,
<B as BorrowOwned<'a>>::RBorrowed: StableAbi,
<B as BorrowOwned<'a>>::ROwned: StableAbi,
impl<'a, K, V> SharedStableAbi for REntry<'a, K, V> where
K: __StableAbi,
V: __StableAbi,
K: 'a,
V: 'a,
[src]
K: __StableAbi,
V: __StableAbi,
K: 'a,
V: 'a,
impl<'a, K, V> SharedStableAbi for ROccupiedEntry<'a, K, V> where
K: __StableAbi,
V: __StableAbi,
K: 'a,
V: 'a,
[src]
K: __StableAbi,
V: __StableAbi,
K: 'a,
V: 'a,
impl<'a, K, V> SharedStableAbi for RVacantEntry<'a, K, V> where
K: __StableAbi,
V: __StableAbi,
K: 'a,
V: 'a,
[src]
K: __StableAbi,
V: __StableAbi,
K: 'a,
V: 'a,
impl<'a, T> SharedStableAbi for RMutexGuard<'a, T> where
T: __StableAbi,
T: 'a,
[src]
T: __StableAbi,
T: 'a,
type IsNonZeroType = <&'a RMutex<T> as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<'a, T> SharedStableAbi for RReadGuard<'a, T> where
T: __StableAbi,
T: 'a,
[src]
T: __StableAbi,
T: 'a,
type IsNonZeroType = <&'a RRwLock<T> as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<'a, T> SharedStableAbi for RWriteGuard<'a, T> where
T: __StableAbi,
T: 'a,
[src]
T: __StableAbi,
T: 'a,
type IsNonZeroType = <&'a RRwLock<T> as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<'a, T> SharedStableAbi for MovePtr<'a, T> where
T: __StableAbi,
T: 'a,
[src]
T: __StableAbi,
T: 'a,
type IsNonZeroType = <*mut T as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<'a, T> SharedStableAbi for RRef<'a, T> where
T: __SharedStableAbi,
T: 'a,
[src]
T: __SharedStableAbi,
T: 'a,
type IsNonZeroType = <*const T as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<'a, T> SharedStableAbi for RSlice<'a, T> where
T: __StableAbi,
T: 'a,
[src]
T: __StableAbi,
T: 'a,
impl<'a, T> SharedStableAbi for RSliceMut<'a, T> where
T: __StableAbi,
T: 'a,
[src]
T: __StableAbi,
T: 'a,
impl<'borr, P, I, EV> SharedStableAbi for DynTrait<'borr, P, I, EV> where
P: GetPointerKind,
P: __StableAbi,
I: __StableAbi,
EV: __StableAbi,
I: InterfaceBound,
VTable<'borr, P, I>: SharedStableAbi,
[src]
P: GetPointerKind,
P: __StableAbi,
I: __StableAbi,
EV: __StableAbi,
I: InterfaceBound,
VTable<'borr, P, I>: SharedStableAbi,
impl<'lt, P, I, V> SharedStableAbi for RObject<'lt, P, I, V> where
P: GetPointerKind,
P: __StableAbi,
I: __StableAbi,
V: __GetStaticEquivalent_,
V: SharedStableAbi,
I: InterfaceBound,
[src]
P: GetPointerKind,
P: __StableAbi,
I: __StableAbi,
V: __GetStaticEquivalent_,
V: SharedStableAbi,
I: InterfaceBound,
impl<'lt, _ErasedPtr> SharedStableAbi for ConstExample_TO<'lt, _ErasedPtr> where
_ErasedPtr: __GetPointerKind,
_ErasedPtr: __StableAbi,
ConstExample_Backend<'lt, _ErasedPtr>: StableAbi,
[src]
_ErasedPtr: __GetPointerKind,
_ErasedPtr: __StableAbi,
ConstExample_Backend<'lt, _ErasedPtr>: StableAbi,
type IsNonZeroType = <ConstExample_Backend<'lt, _ErasedPtr> as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<A> SharedStableAbi for Tuple1<A> where
A: __StableAbi,
[src]
A: __StableAbi,
impl<A> SharedStableAbi for ArrayLen<A> where
A: __StableAbi,
[src]
A: __StableAbi,
impl<A, B> SharedStableAbi for Tuple2<A, B> where
A: __StableAbi,
B: __StableAbi,
[src]
A: __StableAbi,
B: __StableAbi,
impl<A, B, C> SharedStableAbi for Tuple3<A, B, C> where
A: __StableAbi,
B: __StableAbi,
C: __StableAbi,
[src]
A: __StableAbi,
B: __StableAbi,
C: __StableAbi,
impl<A, B, C, D> SharedStableAbi for Tuple4<A, B, C, D> where
A: __StableAbi,
B: __StableAbi,
C: __StableAbi,
D: __StableAbi,
[src]
A: __StableAbi,
B: __StableAbi,
C: __StableAbi,
D: __StableAbi,
impl<E, S, I> SharedStableAbi for NonExhaustive<E, S, I> where
<E as GetNonExhaustive<S>>::NonExhaustive: __SharedStableAbi,
E: __GetStaticEquivalent_,
S: __GetStaticEquivalent_,
I: __GetStaticEquivalent_,
NonExhaustiveVtable<E, S, I>: SharedStableAbi,
E: GetNonExhaustive<S>,
I: InterfaceBound,
[src]
<E as GetNonExhaustive<S>>::NonExhaustive: __SharedStableAbi,
E: __GetStaticEquivalent_,
S: __GetStaticEquivalent_,
I: __GetStaticEquivalent_,
NonExhaustiveVtable<E, S, I>: SharedStableAbi,
E: GetNonExhaustive<S>,
I: InterfaceBound,
impl<K, V> SharedStableAbi for IntoIter<K, V> where
K: __StableAbi,
V: __StableAbi,
[src]
K: __StableAbi,
V: __StableAbi,
type IsNonZeroType = <DynTrait<'static, RBox<()>, ValIterInterface<u32, u32>> as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<K, V> SharedStableAbi for MutIterInterface<K, V> where
K: __StableAbi,
V: __StableAbi,
[src]
K: __StableAbi,
V: __StableAbi,
impl<K, V> SharedStableAbi for RefIterInterface<K, V> where
K: __StableAbi,
V: __StableAbi,
[src]
K: __StableAbi,
V: __StableAbi,
impl<K, V> SharedStableAbi for ValIterInterface<K, V> where
K: __StableAbi,
V: __StableAbi,
[src]
K: __StableAbi,
V: __StableAbi,
impl<K, V, S> SharedStableAbi for RHashMap<K, V, S> where
K: __StableAbi,
V: __StableAbi,
[src]
K: __StableAbi,
V: __StableAbi,
impl<M> SharedStableAbi for RootModuleConsts<M> where
M: __StableAbi,
[src]
M: __StableAbi,
impl<M> SharedStableAbi for RBoxError_<M> where
M: __StableAbi,
[src]
M: __StableAbi,
impl<N> SharedStableAbi for UnwrapEnumError<N> where
N: __StableAbi,
[src]
N: __StableAbi,
type IsNonZeroType = <N as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<T> SharedStableAbi for ConstructorOrValue<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for MaybeCmp<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for ROption<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for SabiUnsafeOpaqueField<T> where
T: StableAbi,
[src]
T: StableAbi,
impl<T> SharedStableAbi for UnsafeOpaqueField<T>
[src]
impl<T> SharedStableAbi for DEIteratorInterface<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for IteratorInterface<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for RReceiver<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for RSender<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for RMutex<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for RRwLock<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for ErasedObject<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for UnsafeIgnoredType<T>
[src]
impl<T> SharedStableAbi for BoolArray<T> where
T: __StableAbi,
[src]
T: __StableAbi,
type IsNonZeroType = <u64 as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<T> SharedStableAbi for CmpIgnored<T> where
T: __StableAbi,
[src]
T: __StableAbi,
type IsNonZeroType = <T as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<T> SharedStableAbi for Constructor<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for LateStaticRef<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for StaticRef<T> where
T: __SharedStableAbi,
[src]
T: __SharedStableAbi,
type IsNonZeroType = <*const T as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<T> SharedStableAbi for RRange<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for RRangeFrom<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for RRangeInclusive<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for RRangeTo<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for RRangeToInclusive<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for RArc<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for RBox<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for RVec<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T> SharedStableAbi for KeyValue<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T, E> SharedStableAbi for RResult<T, E> where
T: __StableAbi,
E: __StableAbi,
[src]
T: __StableAbi,
E: __StableAbi,
impl<T, Inline> SharedStableAbi for RSmallBox<T, Inline> where
T: __StableAbi,
Inline: __GetStaticEquivalent_,
[src]
T: __StableAbi,
Inline: __GetStaticEquivalent_,
impl<T: 'static> SharedStableAbi for StaticSlice<T> where
T: __StableAbi,
[src]
T: __StableAbi,
impl<T: ?Sized> SharedStableAbi for NonOwningPhantom<T> where
PhantomData<T>: SharedStableAbi,
[src]
PhantomData<T>: SharedStableAbi,
impl<_ErasedPtr> SharedStableAbi for ExtraChecks_TO<_ErasedPtr> where
_ErasedPtr: __GetPointerKind,
_ErasedPtr: __StableAbi,
ExtraChecks_Backend<_ErasedPtr>: StableAbi,
[src]
_ErasedPtr: __GetPointerKind,
_ErasedPtr: __StableAbi,
ExtraChecks_Backend<_ErasedPtr>: StableAbi,
type IsNonZeroType = <ExtraChecks_Backend<_ErasedPtr> as __SharedStableAbi>::IsNonZeroType
type Kind = __ValueKind
const S_LAYOUT: &'static TypeLayout
[src]
impl<_ErasedPtr> SharedStableAbi for TypeChecker_TO<_ErasedPtr> where
_ErasedPtr: __GetPointerKind,
_ErasedPtr: __StableAbi,
TypeChecker_Backend<_ErasedPtr>: StableAbi,
[src]
_ErasedPtr: __GetPointerKind,
_ErasedPtr: __StableAbi,
TypeChecker_Backend<_ErasedPtr>: StableAbi,