Module rustc_middle::ty::layout
source · Structs
Enums
- Error produced by attempting to compute or adjust a
FnAbi
. - Type size “skeleton”, i.e., the only information determining a type’s size. While this is conservative, (aside from constant sizes, only pointers, newtypes thereof and null pointer optimized enums are allowed), it is enough to statically check common use cases of transmute.
- Used in
check_validity_requirement
to indicate the kind of initialization that is checked to be valid
Constants
- The first half of a fat pointer.
- The second half of a fat pointer.
- The maximum supported number of lanes in a SIMD vector.
Traits
- Blanket extension trait for contexts that can compute
FnAbi
s. - Trait for contexts that want to be able to compute
FnAbi
s. This automatically gives access toFnAbiOf
, through a blanketimpl
. - Blanket extension trait for contexts that can compute layouts of types.
- Trait for contexts that want to be able to compute layouts of types. This automatically gives access to
LayoutOf
, through a blanketimpl
.
Functions
- Calculates whether a function’s ABI can unwind or not.
- When creating the layout for types with abstract consts in their size (i.e. [usize; 4 * N]), to ensure that they have a canonical order and can be compared directly we combine all constants, and sort the other terms. This allows comparison of expressions of sizes, allowing for things like transmuting between types that depend on generic consts. This returns
None
if multiplication of constants overflows.