[−][src]Crate lark_ty
Modules
base_inferred | A type family where we have fully inferred all the "base types" --
but all permissions are erased. This is the output of the
|
declaration | A type family where we preserve what the user wrote in all cases. We do not support inference and bases and things may map to bound variables from generic declarations. |
full_inferred | A type family where we have fully inferred all the types.
Permissions are partly erased (aliasing information lost). This is
the output of the |
identity | |
map_family |
Structs
BaseData | The "base data" for a type. |
BoundVar | |
Erased | Indicates something that we've opted not to track statically. |
GenericDeclarations | The "generic declarations" list out the generic parameters for a given item. Since items inherit generic items from one another (e.g., from their parents), |
GenericTyDeclaration | Declaration of an individual generic type parameter. |
Generics | A set of generic arguments; e.g., in a type like |
Placeholder | A "placeholder" represents a dummy type (or permission, etc) meant to represent
"any type". It is used when you are "inside" a "forall" binder -- so, for example,
when we are type-checking a function like |
Signature | Signature from a function or method: |
Ty | A type is the combination of a permission and a base type. |
Universe |
Enums
BaseKind | The kinds of base types we have on offer. |
BoundVarOr | A "bound variable" refers to one of the generic type parameters in scope
within a declaration. So, for example, if you have |
GenericKind | An enum that lists out the various "kinds" of generic arguments (currently only types) and a distinct type of value for each kind. |
InferVarOr | Used as the value for inferable things during inference -- either
a given |
PermKind | |
ReprKind | Encodes whether we reach the data through pointer indirection or not. |
Traits
TypeFamily |
Type Definitions
Generic | The value of a single generic argument; e.g., in a type like
|