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 ]
|