Module rustc_ap_rustc_target::abi[][src]

Re-exports

pub use Integer::*;
pub use Primitive::*;

Modules

call

Structs

AbiAndPrefAlign

A pair of alignments, ABI-mandated and preferred.

AddressSpace

An identifier that specifies the address space that some operation should operate on. Special address spaces have an effect on code generation, depending on the target and the address spaces it implements.

Align

Alignment of a type in bytes (always a power of two).

Layout
Niche
PointeeInfo
Scalar

Information about one scalar component of a Rust type.

Size

Size of a type in bytes.

TargetDataLayout

Parsed Data layout for a target, which contains everything needed to compute layouts.

TyAndLayout

The layout of a type, alongside the type itself. Provides various type traversal APIs (e.g., recursing into fields).

VariantIdx

Enums

Abi

Describes how values of the type are passed by target ABIs, in terms of categories of C types there are ABI rules for.

Endian

Endianness of the target, which must match cfg(target-endian).

FieldsShape

Describes how the fields of a type are located in memory.

Integer

Integers, also used for enum discriminants.

PointerKind
Primitive

Fundamental unit of memory access and layout.

TagEncoding
Variants

Traits

HasDataLayout
LayoutOf

Trait for context types that can compute layouts of things.

MaybeResult

The TyAndLayout above will always be a MaybeResult<TyAndLayout<'_, Self>>. We can’t add the bound due to the lifetime, but this trait is still useful when writing code that’s generic over the LayoutOf impl.

TyAndLayoutMethods