Struct abi_stable::type_layout::TypeLayout [−][src]
#[repr(C)]pub struct TypeLayout { /* fields omitted */ }
Expand description
The layout of a type, also includes metadata about where the type was defined.
Implementations
Gets the SharedVars of the type, containing the slices that many types inside TypeLayout contain ranges into.
Gets the package and package version where the type was declared.
Gets the package version for the package where the type was declared.
Gets a trait object used to check extra properties about the type.
Gets the fields of the type.
Return value
If this a:
-
primitive or opaque type: It returns
None
. -
enum: It returns
Some()
with all the fields in the order that they were declared, ignoring variants. -
structs/unions/prefix types: It returns
Some()
with all the fields in the order that they were declared.
Whether this is a prefix-type(module or vtable).
Gets whether the type is a NonZero type,
which can be put in an Option
while being ffi-safe.
Gets the UTypeId
for the type,
which is an ffi safe equivalent of TypeId
.
Gets the Tag
associated with a type,
a JSON-like datastructure which is another way to
check extra properties about a type.
Gets the ModReflMode
for the type,
whether this is a module whose definition can be reflected on at runtime.
The interior of the type definition, describing whether the type is a primitive/enum/struct/union and its contents.
Describes whether the type is a primitive/enum/struct/union,
every variant corresponds to a TLData
variant of the same name.
Gets the virtual fields that aren’t part of th type definition, but are checked as part of the type
Gets the generic parameters of the type.
Gets the parts of the type layout that don’t change with generic parameters.
Trait Implementations
type StaticEquivalent = _static_TypeLayout
type IsNonZeroType = False
type IsNonZeroType = False
Whether this type has a single invalid bit-pattern. Read more
The layout of the type provided by implementors.
const
-equivalents of the associated types.
Auto Trait Implementations
Blanket Implementations
Mutably borrows from an owned value. Read more
type ROwned = T
type ROwned = T
The owned type, stored in RCow::Owned
type ForSelf = WithMetadata_<T, T>
type ForSelf = WithMetadata_<T, T>
This is always WithMetadata_<Self, Self>
Compares the address of self
with the address of other
. Read more
Emulates the pipeline operator, allowing method syntax in more places. Read more
The same as piped
except that the function takes &Self
Useful for functions that take &Self
instead of Self
. Read more
The same as piped
, except that the function takes &mut Self
.
Useful for functions that take &mut Self
instead of Self
. Read more
Mutates self using a closure taking self by mutable reference, passing it along the method chain. Read more
Observes the value of self, passing it along unmodified. Useful in long method chains. Read more
Performs a conversion with Into
.
using the turbofish .into_::<_>()
syntax. Read more
Performs a reference to reference conversion with AsRef
,
using the turbofish .as_ref_::<_>()
syntax. Read more
Performs a mutable reference to mutable reference conversion with AsMut
,
using the turbofish .as_mut_::<_>()
syntax. Read more
unsafe fn transmute_element<T>(
self
) -> <Self as CanTransmuteElement<T>>::TransmutedPtr where
Self: CanTransmuteElement<T>,
unsafe fn transmute_element<T>(
self
) -> <Self as CanTransmuteElement<T>>::TransmutedPtr where
Self: CanTransmuteElement<T>,
Transmutes the element type of this pointer.. Read more
type Type = T
type Type = T
This is always Self
.
Converts a value back to the original type.
Converts a mutable reference back to the original type.
Converts a box back to the original type.
Converts an Arc back to the original type. Read more
Converts an Rc back to the original type. Read more
Converts a value back to the original type.
Converts a reference back to the original type.
Converts a mutable reference back to the original type.
Converts a box back to the original type.
Converts an Arc back to the original type.
Converts an Rc back to the original type.