Module rusttyc::types [−][src]
This mod contains everything related to types and collections of types (type tables).
Content
- Variant is a trait representing the variant of an abstract type that will be inferred during the type checking procedure.
- Constructable: A variant is constructable if it can be transformed into a concrete type, i.e., Constructable::Type.
- TypeTable and PreliminaryTypeTable are mappings from a TcKey to a concrete Constructable::Type or Preliminary type.
Structs
Partial | Partial is a container for a ContextSensitiveVariant and the least arity a particular instance of this variant currently has. Only used for ContextSensitiveVariant::meet(). |
Preliminary | Represents a preliminary output of the type check. Mainly used if Variant does not implement Constructable. |
Enums
Arity | Represents the arity of a Variant or ContextSensitiveVariant. |
Traits
Constructable | A type implementing this trait can potentially be transformed into a concrete representation. This transformation can fail. |
ContextSensitiveVariant | A Variant which requires a context for meet operations and equality checks. |
Variant | A variant that will be inferred during the type checking procedure. |
Type Definitions
PreliminaryTypeTable | A type table containing a Preliminary type for each TcKey. Mainly used if ContextSensitiveVariant does not implement Constructable. |
TypeTable | A type table containing the constructed type of the inferred ContextSensitiveVariant for each TcKey. Requires ContextSensitiveVariant to implement Constructable. |