[−][src]Module abi_stable::type_layout
Types for modeling the layout of a datatype
Re-exports
pub use self::tagging::Tag; |
Modules
data_structures | |
tagging | Tag is a dynamically typed data structure used to encode extra properties about a type in its layout constant. |
Structs
CompFieldAccessor | A compressed field accessor,represented as 3 bits inside of a CompTLField. |
CompGenericParams | The compressed generic parameters of a type, which can be expanded into a GenericParams by calling expand. |
CompTLField | A TLField represented as a u64,expanded to a TLField by calling the expand method. |
CompTLFields | The layout of all compressed fields in a type definition, one can access the expanded fields by calling the expand method. |
CompTLFunction | A compressed version of a function pointer type, which can be expanded into a TLFunction by calling the expand method. |
FmtFullType | The typename and generics of the type this layout is associated to,
used for printing types (eg: |
GenericParams | The generic parameters of a type. |
GenericTLEnum | The layout of an enum,that might depend on generic parameters. |
GenericTLPrefixType | Properties of prefix types (vtables and modules) that depends on generic parameters. |
IncompatibleWithNonExhaustive | An error declaring that the Storage of a nonexhaustive enum is not compatible with the enum. |
IsExhaustive | Whether this enum is exhaustive,if it is,it can add variants in minor versions. |
ItemInfo | Information about where a type was declared. |
LifetimeIndex | Which lifetime is being referenced by a field. Allows lifetimes to be renamed,so long as the "same" lifetime is being referenced. |
LifetimeIndexArray | A |
LifetimeIndexPair | A pair of |
LifetimeRange | Either a |
MTLIterator | An iterator over a list of |
MismatchedTLDataVariant | An error returned by MonoTLData::expand because the GenericTLData it tried to combine itself with was a different variant. |
ModPath | A module path. |
MonoSharedVars | a few static slices that many types in the |
MonoTLEnum | The parts of the layout of an enum,that don't depend on generic parameters. |
MonoTLPrefixType | Properties of prefix types (vtables and modules) that don't change with generic parameters. |
MonoTypeLayout | The data in the type layout that does not depend on generic parameters. |
MultipleTypeLayouts | This stores multiple |
OptionU8 | An optional u8 which represents None as |
OptionU16 | An optional u16 which represents None as |
SharedVars | a few static slices that many types in the |
StartLen | The start and length of a slice into |
StartLenConverter | Used to convert the stuff passed to the |
TLDiscriminants | The discriminants of an enum. |
TLEnum | Every property about an enum specifically. |
TLField | The layout of a field. |
TLFields | The layout of all field in a type definition. |
TLFieldsIterator | An iterator over all the fields in a type definition. |
TLFunction | A function pointer in a field. |
TLFunctionIter | An iterator over a range of |
TLFunctionSlice | A slice of functions from a TLFunctions. |
TLFunctions | All the function pointer types in a type declaration. |
TLNonExhaustive | Properties exclusive to nonexhaustive enums. |
TLPrefixType | Properties of prefix types (vtables and modules),
combining |
TypeLayout | The layout of a type, also includes metadata about where the type was defined. |
TypeLayoutIndex | An index into the slice of |
TypeLayoutRange | A range of indices into the slice of |
Enums
DiscriminantRepr | How the discriminant of an enum is represented. |
FieldAccessor | Whether a field is accessible,and how it is accessed. |
GenericTLData | The part of TLData that can change based on generic parameters. |
LifetimeArrayOrSlice | Either an array of 3 |
MonoTLData | The parts of TLData that don't change based on generic parameters. |
ReprAttr | The |
TLData | The interior of the type definition, describing whether the type is a primitive/enum/struct/union and its contents. |
TLDataDiscriminant | A discriminant-only version of TLData. |
TLDiscriminant | A discriminant of an enum variant. |
TLFieldOrFunction | Either a TLField or a TLFunction. |
TLPrimitive | Types defined in the compiler |
Type Definitions
CompTLFieldRepr | The underlying representation of CompTLField. |
LifetimeIndexPairRepr | The representation of a |
StartLenRepr | The internal representation of StartLen. |