[−][src]Module rustc_middle::ty::sty
This module contains TyKind and its major components.
Structs
| Binder | Binder is a binder for higher-ranked lifetimes or types. It is part of the
compiler's representation for things like |
| BoundTy | |
| BoundVar | |
| ClosureSubsts | A closure can be modeled as a struct that looks like: |
| ClosureSubstsParts | Struct returned by |
| ConstVid | |
| DebruijnIndex | A De Bruijn index is a standard means of representing regions (and perhaps later types) in a higher-ranked setting. In particular, imagine a type like this: |
| EarlyBoundRegion | |
| ExistentialProjection | A |
| ExistentialTraitRef | An existential reference to a trait, where |
| FloatVid | |
| FnSig | Signature of a function type, which we have arbitrarily decided to use to refer to the input/output types. |
| FreeRegion | A "free" region |
| GenSig | |
| GeneratorSubsts | Similar to |
| GeneratorSubstsParts | |
| IntVid | |
| ParamConst | |
| ParamTy | |
| ProjectionTy | Represents the projection of an associated type. In explicit UFCS
form this would be written |
| RegionVid | |
| TraitRef | A complete reference to a trait. These take numerous guises in syntax, but perhaps the most recognizable form is in a where-clause: |
| TyVid | |
| TypeAndMut |
Enums
| BoundRegion | |
| BoundTyKind | |
| ExistentialPredicate | |
| InferTy | |
| RegionKind | Representation of regions. Note that the NLL checker uses a distinct
representation of regions. For this reason, it internally replaces all the
regions with inference variables -- the index of the variable is then used
to index into internal NLL data structures. See |
| TyKind | N.B., if you change this, you'll probably want to change the corresponding
AST structure in |
| UpvarSubsts |
Constants
| INNERMOST |
Type Definitions
| CanonicalPolyFnSig | |
| PolyExistentialProjection | |
| PolyExistentialTraitRef | |
| PolyFnSig | |
| PolyGenSig | |
| PolyTraitRef | |
| Region |