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

Traits

  • Blanket extension trait for contexts that can compute FnAbis.
  • Trait for contexts that want to be able to compute FnAbis. This automatically gives access to FnAbiOf, through a blanket impl.
  • 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 blanket impl.

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.

Type Aliases