Struct stabby_abi::Struct
source · pub struct Struct<T>(/* private fields */);
Expand description
Used by proc-macros to ensure a list of fields gets the proper end padding.
Trait Implementations§
source§impl<T: IStable> IStable for Struct<T>
impl<T: IStable> IStable for Struct<T>
§type Size = <<T as IStable>::Size as IUnsigned>::NextMultipleOf<<T as IStable>::Align>
type Size = <<T as IStable>::Size as IUnsigned>::NextMultipleOf<<T as IStable>::Align>
The size of the annotated type in bytes.
§type ForbiddenValues = <T as IStable>::ForbiddenValues
type ForbiddenValues = <T as IStable>::ForbiddenValues
The values that the annotated type cannot occupy.
§type UnusedBits = <<T as IStable>::UnusedBits as IBitMask>::BitOr<<<<<<T as IStable>::Size as IUnsigned>::NextMultipleOf<<T as IStable>::Align> as IUnsigned>::AbsSub<<T as IStable>::Size> as IUnsignedBase>::PaddingBitMask as IBitMask>::Shift<<T as IStable>::Size>>
type UnusedBits = <<T as IStable>::UnusedBits as IBitMask>::BitOr<<<<<<T as IStable>::Size as IUnsigned>::NextMultipleOf<<T as IStable>::Align> as IUnsigned>::AbsSub<<T as IStable>::Size> as IUnsignedBase>::PaddingBitMask as IBitMask>::Shift<<T as IStable>::Size>>
The padding bits in the annotated types
§type HasExactlyOneNiche = Saturator
type HasExactlyOneNiche = Saturator
Allows the detection of whether or not
core::option::Option
s are stable: Read more§type ContainsIndirections = <T as IStable>::ContainsIndirections
type ContainsIndirections = <T as IStable>::ContainsIndirections
Whether or not the type contains indirections (pointers, indices in independent data-structures…)
source§const REPORT: &'static TypeReport = _
const REPORT: &'static TypeReport = _
A compile-time generated report of the fields of the type, allowing for compatibility inspection.
source§const ID: u64 = 6_717_366_535_720_309_027u64
const ID: u64 = 6_717_366_535_720_309_027u64
A stable (and ideally unique) identifier for the type. Often generated using
crate::report::gen_id
, but can be manually set.Auto Trait Implementations§
impl<T> Freeze for Struct<T>where
T: Freeze,
impl<T> RefUnwindSafe for Struct<T>where
T: RefUnwindSafe,
impl<T> Send for Struct<T>where
T: Send,
impl<T> Sync for Struct<T>where
T: Sync,
impl<T> Unpin for Struct<T>where
T: Unpin,
impl<T> UnwindSafe for Struct<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more