Struct rustc::ty::TypeckTables [] [src]

pub struct TypeckTables<'tcx> {
    pub type_relative_path_defs: NodeMap<Def>,
    pub node_types: NodeMap<Ty<'tcx>>,
    pub item_substs: NodeMap<ItemSubsts<'tcx>>,
    pub adjustments: NodeMap<Adjustment<'tcx>>,
    pub method_map: MethodMap<'tcx>,
    pub upvar_capture_map: UpvarCaptureMap<'tcx>,
    pub closure_tys: NodeMap<PolyFnSig<'tcx>>,
    pub closure_kinds: NodeMap<ClosureKind>,
    pub liberated_fn_sigs: NodeMap<FnSig<'tcx>>,
    pub fru_field_types: NodeMap<Vec<Ty<'tcx>>>,
    pub cast_kinds: NodeMap<CastKind>,
    pub lints: LintTable,
    pub used_trait_imports: DefIdSet,
    pub tainted_by_errors: bool,
    pub free_region_map: FreeRegionMap,
}
🔬 This is a nightly-only experimental API. (rustc_private)

Fields

🔬 This is a nightly-only experimental API. (rustc_private)

Resolved definitions for <T>::X associated paths.

🔬 This is a nightly-only experimental API. (rustc_private)

Stores the types for various nodes in the AST. Note that this table is not guaranteed to be populated until after typeck. See typeck::check::fn_ctxt for details.

🔬 This is a nightly-only experimental API. (rustc_private)

Stores the type parameters which were substituted to obtain the type of this node. This only applies to nodes that refer to entities parameterized by type parameters, such as generic fns, types, or other items.

🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)

Borrows

🔬 This is a nightly-only experimental API. (rustc_private)

Records the type of each closure.

🔬 This is a nightly-only experimental API. (rustc_private)

Records the kind of each closure.

🔬 This is a nightly-only experimental API. (rustc_private)

For each fn, records the "liberated" types of its arguments and return type. Liberated means that all bound regions (including late-bound regions) are replaced with free equivalents. This table is not used in trans (since regions are erased there) and hence is not serialized to metadata.

🔬 This is a nightly-only experimental API. (rustc_private)

For each FRU expression, record the normalized types of the fields of the struct - this is needed because it is non-trivial to normalize while preserving regions. This table is used only in MIR construction and hence is not serialized to metadata.

🔬 This is a nightly-only experimental API. (rustc_private)

Maps a cast expression to its kind. This is keyed on the from expression of the cast, not the cast itself.

🔬 This is a nightly-only experimental API. (rustc_private)

Lints for the body of this fn generated by typeck.

🔬 This is a nightly-only experimental API. (rustc_private)

Set of trait imports actually used in the method resolution. This is used for warning unused imports.

🔬 This is a nightly-only experimental API. (rustc_private)

If any errors occurred while type-checking this body, this field will be set to true.

🔬 This is a nightly-only experimental API. (rustc_private)

Stores the free-region relationships that were deduced from its where clauses and parameter types. These are then read-again by borrowck.

Methods

impl<'tcx> TypeckTables<'tcx>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

Returns the final resolution of a QPath in an Expr or Pat node.

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

Returns the type of expr, considering any Adjustment entry recorded for that expression.

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

Trait Implementations

impl<'tcx> Encodable for TypeckTables<'tcx>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

deprecated in favor of rustc-serialize on crates.io

impl<'tcx> Decodable for TypeckTables<'tcx>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

deprecated in favor of rustc-serialize on crates.io