[−][src]Module abi_stable::type_layout
Types for modeling the layout of a datatype
Re-exports
pub use self::tagging::Tag; |
Modules
tagging | Tag is a dynamically typed data structure used to encode extra properties about a type in its layout constant. |
Structs
CompTLFunction | Equivalent to TLFunction,in which every field is a range into a |
Field1to1 | Properties that are associated with all fields. |
FieldIndex | An index composed of the (variant,field_position) pair. |
FullType | The typename and generics of the type this layout is associated to, used for printing types. |
GenericParams | Represents all the generic parameters of a type. |
GetVariantNames | An iterator that yields the names of an enum's variants. |
IncompatibleWithNonExhaustive | An error produced when checking that the Storage of a nonexhaustive enum is 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. |
SliceAndFieldIndices | A slice of |
StartLen | The start and length of a slice into |
TLEnum | The layout of an enum. |
TLField | The layout of a field. |
TLFields | The layout of a field. |
TLFieldsIterator | An iterator over all the fields in a type definition. |
TLFunction | A function pointer in a field. |
TLFunctionRange | A slice of functions from a TLFunctions. |
TLFunctions | A function pointer in a field. |
TLNonExhaustive | Properties exclusive to nonexhaustive enums. |
TLPrefixType | The definition of vtables and modules that can be extended in minor versions. |
TypeLayout | The layout of a type, also includes metadata about where the type was defined. |
TypeLayoutParams | The parameters for |
WithFieldIndex | A pair of (FieldIndex,T). |
Enums
DiscriminantRepr | How the discriminant of an enum is represented. |
FieldAccessor | Whether a field is accessible,and how it is accessed. |
LifetimeIndex | Which lifetime is being referenced by a field. Allows lifetimes to be renamed,so long as the "same" lifetime is being referenced. |
ModPath | A module path. |
ReprAttr | The |
TLData | What kind of type this is.struct/enum/etc. |
TLDataDiscriminant | A discriminant-only version of TLData. |
TLDiscriminant | The discriminant of an enum variant. |
TLDiscriminants | The discriminant of an enum variant. |
TLFOSIter | A iterator over all the fields of a type definition. |
TLFieldOrFunction | Either a TLField or a TLFunction. |
TLFieldsOrSlice | Either a |
TLPrimitive | Types defined in the compiler |