Module rustc::ty::sty [−][src]
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
This module contains TypeVariants and its major components
Re-exports
use hir::def_id::DefId; |
use middle::const_val::ConstVal; |
use middle::region; |
use rustc_data_structures::indexed_vec::Idx; |
use ty::subst::Substs; |
use ty::subst::Subst; |
use ty::subst::Kind; |
use ty::subst::UnpackedKind; |
use ty; |
use ty::AdtDef; |
use ty::TypeFlags; |
use ty::Ty; |
use ty::TyCtxt; |
use ty::TypeFoldable; |
use ty::Slice; |
use ty::TyS; |
use util::captures::Captures; |
use std::iter; |
use std::cmp::Ordering; |
use rustc_target::spec::abi; |
use syntax::ast; |
use syntax::ast::Name; |
use syntax::symbol::keywords; |
use syntax::symbol::InternedString; |
use serialize; |
use hir; |
use self::InferTy::*; |
use self::TypeVariants::*; |
Structs
| Binder |
[ Experimental ] Binder is a binder for higher-ranked lifetimes. It is part of the
compiler's representation for things like |
| CanonicalVar |
[ Experimental ]
|
| ClosureSubsts |
[ Experimental ] A closure can be modeled as a struct that looks like: |
| Const |
[ Experimental ] Typed constant value. |
| DebruijnIndex |
[ Experimental ] 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 |
[ Experimental ]
|
| ExistentialProjection |
[ Experimental ] A |
| ExistentialTraitRef |
[ Experimental ] An existential reference to a trait, where |
| FloatVid |
[ Experimental ]
|
| FnSig |
[ Experimental ] Signature of a function type, which I have arbitrarily decided to use to refer to the input/output types. |
| FreeRegion |
[ Experimental ] A "free" region |
| GenSig |
[ Experimental ]
|
| GeneratorInterior |
[ Experimental ] This describes the types that can be contained in a generator. It will be a type variable initially and unified in the last stages of typeck of a body. It contains a tuple of all the types that could end up on a generator frame. The state transformation MIR pass may only produce layouts which mention types in this tuple. Upvars are not counted here. |
| IntVid |
[ Experimental ]
|
| ParamTy |
[ Experimental ]
|
| ProjectionTy |
[ Experimental ] Represents the projection of an associated type. In explicit UFCS
form this would be written |
| RegionVid |
[ Experimental ]
|
| SplitClosureSubsts |
[ Experimental ] Struct returned by |
| TraitRef |
[ Experimental ] A complete reference to a trait. These take numerous guises in syntax, but perhaps the most recognizable form is in a where clause: |
| TyVid |
[ Experimental ]
|
| TypeAndMut |
[ Experimental ]
|
Enums
| BoundRegion |
[ Experimental ]
|
| ExistentialPredicate |
[ Experimental ]
|
| InferTy |
[ Experimental ]
|
| RegionKind |
[ Experimental ] Representation of regions. |
| TypeVariants |
[ Experimental ] NB: If you change this, you'll probably want to change the corresponding AST structure in libsyntax/ast.rs as well. |
Type Definitions
| PolyExistentialProjection |
[ Experimental ]
|
| PolyExistentialTraitRef |
[ Experimental ]
|
| PolyFnSig |
[ Experimental ]
|
| PolyGenSig |
[ Experimental ]
|
| PolyTraitRef |
[ Experimental ]
|
| Region |
[ Experimental ]
|