Module rustc::ty::layout
[−]
[src]
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Reexports
pub use self::Integer::*; |
pub use self::Primitive::*; |
Structs
Align |
[ Experimental ] Alignment of a type in bytes, both ABI-mandated and preferred. Each field is a power of two, giving the alignment a maximum value of 228 - 1, which is limited by LLVM to a i32, with a maximum capacity of 231 - 1 or 2147483647. |
LayoutDetails |
[ Experimental ]
|
Scalar |
[ Experimental ] Information about one scalar component of a Rust type. |
Size |
[ Experimental ] Size of a type in bytes. |
TargetDataLayout |
[ Experimental ] Parsed Data layout for a target, which contains everything needed to compute layouts. |
TyLayout |
[ Experimental ] The details of the layout of a type, alongside the type itself. Provides various type traversal APIs (e.g. recursing into fields). |
Enums
Abi |
[ Experimental ] Describes how values of the type are passed by target ABIs, in terms of categories of C types there are ABI rules for. |
Endian |
[ Experimental ] Endianness of the target, which must match cfg(target-endian). |
FieldPlacement |
[ Experimental ] Describes how the fields of a type are located in memory. |
Integer |
[ Experimental ] Integers, also used for enum discriminants. |
LayoutError |
[ Experimental ]
|
Primitive |
[ Experimental ] Fundamental unit of memory access and layout. |
SizeSkeleton |
[ Experimental ] 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 usecases of transmute. |
Variants |
[ Experimental ]
|
Constants
FAT_PTR_ADDR |
[ Experimental ] The first half of a fat pointer. - For a trait object, this is the address of the box. - For a slice, this is the base address. |
FAT_PTR_EXTRA |
[ Experimental ] The second half of a fat pointer. - For a trait object, this is the address of the vtable. - For a slice, this is the length. |
Traits
HasDataLayout |
[ Experimental ]
|
HasTyCtxt |
[ Experimental ]
|
LayoutOf |
[ Experimental ]
|
MaybeResult |
[ Experimental ]
|
Functions
provide |
[ Experimental ]
|