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 Align = <(Struct<T>, <T as IStable>::Align) as IStable>::Align
type Align = <(Struct<T>, <T as IStable>::Align) as IStable>::Align
The alignment of the annotated type.
§type UnusedBits = <(Struct<T>, <T as IStable>::Align) as IStable>::UnusedBits
type UnusedBits = <(Struct<T>, <T as IStable>::Align) as IStable>::UnusedBits
The padding bits in the annotated types
§type ForbiddenValues = <(Struct<T>, <T as IStable>::Align) as IStable>::ForbiddenValues
type ForbiddenValues = <(Struct<T>, <T as IStable>::Align) as IStable>::ForbiddenValues
The values that the annotated type cannot occupy.
§type HasExactlyOneNiche = <(Struct<T>, <T as IStable>::Align) as IStable>::HasExactlyOneNiche
type HasExactlyOneNiche = <(Struct<T>, <T as IStable>::Align) as IStable>::HasExactlyOneNiche
Allows the detection of whether or not
core::option::Options are stable: Read more§type ContainsIndirections = <(Struct<T>, <T as IStable>::Align) as IStable>::ContainsIndirections
type ContainsIndirections = <(Struct<T>, <T as IStable>::Align) as IStable>::ContainsIndirections
Whether or not the type contains indirections (pointers, indices in independent data-structures…)
source§const REPORT: &'static TypeReport = <(Self, T::Align) as IStable>::REPORT
const REPORT: &'static TypeReport = <(Self, T::Align) as IStable>::REPORT
A compile-time generated report of the fields of the type, allowing for compatibility inspection.
source§const ID: u64 = <(Self, T::Align) as IStable>::ID
const ID: u64 = <(Self, T::Align) as IStable>::ID
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> Any for Twhere
T: IStable,
impl<T> Any for Twhere
T: IStable,
source§extern "C" fn report(&self) -> &'static TypeReport
extern "C" fn report(&self) -> &'static TypeReport
The report of the type.
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