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>
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.Source§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.
Source§type ForbiddenValues = <T as IStable>::ForbiddenValues
type ForbiddenValues = <T as IStable>::ForbiddenValues
The values that the annotated type cannot occupy.
Source§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
Source§type HasExactlyOneNiche = <<<T as IStable>::Size as IUnsigned>::Equal<<Struct<T> as IStable>::Size> as IBit>::SaddTernary<<T as IStable>::HasExactlyOneNiche, Saturator>
type HasExactlyOneNiche = <<<T as IStable>::Size as IUnsigned>::Equal<<Struct<T> as IStable>::Size> as IBit>::SaddTernary<<T as IStable>::HasExactlyOneNiche, Saturator>
Allows the detection of whether or not
core::option::Options are stable: Read moreSource§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…)
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