#[non_exhaustive]pub struct DataLayout {
pub endianness: Endian,
pub natural_stack_alignment: Option<Align>,
pub program_address_space: AddressSpace,
pub global_variable_address_space: AddressSpace,
pub alloca_address_space: AddressSpace,
pub type_alignments: TypeAlignSpecs,
pub pointer_alignments: PointerAlignSpecs,
pub aggregate_alignment: Align,
pub function_pointer_alignment: Option<FunctionPointerAlign>,
pub mangling: Option<Mangling>,
pub native_integer_widths: Vec<u32>,
pub non_integral_address_spaces: Vec<AddressSpace>,
}
Expand description
Models the MODULE_CODE_DATALAYOUT
record.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.endianness: Endian
The endianness of the target.
natural_stack_alignment: Option<Align>
The target’s natural stack alignment, if present.
program_address_space: AddressSpace
The address space for program memory.
global_variable_address_space: AddressSpace
The address space for global variables.
alloca_address_space: AddressSpace
The address space for objects created by alloca
.
type_alignments: TypeAlignSpecs
Non-pointer type alignment specifications for the target.
pointer_alignments: PointerAlignSpecs
Pointer alignment specifications for the target.
aggregate_alignment: Align
Aggregate alignment for the target.
function_pointer_alignment: Option<FunctionPointerAlign>
Function pointer alignment for the target, if present.
mangling: Option<Mangling>
The target’s symbol mangling discipline, if present.
native_integer_widths: Vec<u32>
A list of integer widths (in bits) that are efficiently supported by the target.
non_integral_address_spaces: Vec<AddressSpace>
A list of address spaces that use non-integral pointers.
Trait Implementations§
Source§impl Debug for DataLayout
impl Debug for DataLayout
Source§impl Default for DataLayout
impl Default for DataLayout
Auto Trait Implementations§
impl Freeze for DataLayout
impl RefUnwindSafe for DataLayout
impl Send for DataLayout
impl Sync for DataLayout
impl Unpin for DataLayout
impl UnwindSafe for DataLayout
Blanket Implementations§
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