Struct rustc::ty::TypeckTables
[−]
[src]
pub struct TypeckTables<'tcx> {
pub local_id_root: Option<DefId>,
pub upvar_capture_map: UpvarCaptureMap<'tcx>,
pub used_trait_imports: Rc<DefIdSet>,
pub tainted_by_errors: bool,
pub free_region_map: FreeRegionMap<'tcx>,
// some fields omitted
}🔬 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?
Fields
local_id_root: Option<DefId>
🔬 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?
The HirId::owner all ItemLocalIds in this table are relative to.
upvar_capture_map: UpvarCaptureMap<'tcx>
🔬 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?
Borrows
used_trait_imports: Rc<DefIdSet>
🔬 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?
Set of trait imports actually used in the method resolution.
This is used for warning unused imports. During type
checking, this Rc should not be cloned: it must have a ref-count
of 1 so that we can insert things into the set mutably.
tainted_by_errors: bool
🔬 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?
If any errors occurred while type-checking this body,
this field will be set to true.
free_region_map: FreeRegionMap<'tcx>
🔬 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?
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]
pub fn empty(local_id_root: Option<DefId>) -> TypeckTables<'tcx>[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?
pub fn qpath_def(&self, qpath: &QPath, id: HirId) -> Def[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?
Returns the final resolution of a QPath in an Expr or Pat node.
pub fn type_dependent_defs(&self) -> LocalTableInContext<Def>[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?
pub fn type_dependent_defs_mut(&mut self) -> LocalTableInContextMut<Def>[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?
pub fn node_types(&self) -> LocalTableInContext<Ty<'tcx>>[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?
pub fn node_types_mut(&mut self) -> LocalTableInContextMut<Ty<'tcx>>[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?
pub fn node_id_to_type(&self, id: HirId) -> Ty<'tcx>[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?
pub fn node_id_to_type_opt(&self, id: HirId) -> Option<Ty<'tcx>>[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?
pub fn node_substs_mut(&mut self) -> LocalTableInContextMut<&'tcx Substs<'tcx>>[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?
pub fn node_substs(&self, id: HirId) -> &'tcx Substs<'tcx>[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?
pub fn node_substs_opt(&self, id: HirId) -> Option<&'tcx Substs<'tcx>>[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?
pub fn pat_ty(&self, pat: &Pat) -> Ty<'tcx>[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?
pub fn pat_ty_opt(&self, pat: &Pat) -> Option<Ty<'tcx>>[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?
pub fn expr_ty(&self, expr: &Expr) -> Ty<'tcx>[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?
pub fn expr_ty_opt(&self, expr: &Expr) -> Option<Ty<'tcx>>[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?
pub fn adjustments(&self) -> LocalTableInContext<Vec<Adjustment<'tcx>>>[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?
pub fn adjustments_mut(
&mut self
) -> LocalTableInContextMut<Vec<Adjustment<'tcx>>>[src]
&mut self
) -> LocalTableInContextMut<Vec<Adjustment<'tcx>>>
🔬 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?
pub fn expr_adjustments(&self, expr: &Expr) -> &[Adjustment<'tcx>][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?
pub fn expr_ty_adjusted(&self, expr: &Expr) -> Ty<'tcx>[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?
Returns the type of expr, considering any Adjustment
entry recorded for that expression.
pub fn expr_ty_adjusted_opt(&self, expr: &Expr) -> Option<Ty<'tcx>>[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?
pub fn is_method_call(&self, expr: &Expr) -> bool[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?
pub fn pat_binding_modes(&self) -> LocalTableInContext<BindingMode>[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?
pub fn pat_binding_modes_mut(&mut self) -> LocalTableInContextMut<BindingMode>[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?
pub fn pat_adjustments(&self) -> LocalTableInContext<Vec<Ty<'tcx>>>[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?
pub fn pat_adjustments_mut(&mut self) -> LocalTableInContextMut<Vec<Ty<'tcx>>>[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?
pub fn upvar_capture(&self, upvar_id: UpvarId) -> UpvarCapture<'tcx>[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?
pub fn closure_kind_origins(&self) -> LocalTableInContext<(Span, Name)>[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?
pub fn closure_kind_origins_mut(
&mut self
) -> LocalTableInContextMut<(Span, Name)>[src]
&mut self
) -> LocalTableInContextMut<(Span, Name)>
🔬 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?
pub fn liberated_fn_sigs(&self) -> LocalTableInContext<FnSig<'tcx>>[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?
pub fn liberated_fn_sigs_mut(&mut self) -> LocalTableInContextMut<FnSig<'tcx>>[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?
pub fn fru_field_types(&self) -> LocalTableInContext<Vec<Ty<'tcx>>>[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?
pub fn fru_field_types_mut(&mut self) -> LocalTableInContextMut<Vec<Ty<'tcx>>>[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?
pub fn cast_kinds(&self) -> LocalTableInContext<CastKind>[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?
pub fn cast_kinds_mut(&mut self) -> LocalTableInContextMut<CastKind>[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?
Trait Implementations
impl<'tcx> Encodable for TypeckTables<'tcx>[src]
fn encode<__S: Encoder>(&self, __arg_0: &mut __S) -> Result<(), __S::Error>[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?
impl<'tcx> Decodable for TypeckTables<'tcx>[src]
fn decode<__D: Decoder>(
__arg_0: &mut __D
) -> Result<TypeckTables<'tcx>, __D::Error>[src]
__arg_0: &mut __D
) -> Result<TypeckTables<'tcx>, __D::Error>
🔬 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?
impl<'tcx> Debug for TypeckTables<'tcx>[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result[src]
Formats the value using the given formatter. Read more
impl<'gcx> HashStable<StableHashingContext<'gcx>> for TypeckTables<'gcx>[src]
fn hash_stable<W: StableHasherResult>(
&self,
hcx: &mut StableHashingContext<'gcx>,
hasher: &mut StableHasher<W>
)[src]
&self,
hcx: &mut StableHashingContext<'gcx>,
hasher: &mut StableHasher<W>
)
🔬 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?