Rename some region-specific stuff
This commit is contained in:
@@ -29,7 +29,7 @@ pub mod lib_features {
|
||||
pub mod limits;
|
||||
pub mod privacy;
|
||||
pub mod region;
|
||||
pub mod resolve_lifetime;
|
||||
pub mod resolve_bound_vars;
|
||||
pub mod stability;
|
||||
|
||||
pub fn provide(providers: &mut crate::ty::query::Providers) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//! Name resolution for lifetimes: type declarations.
|
||||
//! Name resolution for lifetimes and late-bound type and const variables: type declarations.
|
||||
|
||||
use crate::ty;
|
||||
|
||||
@@ -8,8 +8,8 @@ use rustc_hir::{ItemLocalId, OwnerId};
|
||||
use rustc_macros::HashStable;
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Hash, TyEncodable, TyDecodable, Debug, HashStable)]
|
||||
pub enum Region {
|
||||
Static,
|
||||
pub enum ResolvedArg {
|
||||
StaticLifetime,
|
||||
EarlyBound(/* lifetime decl */ DefId),
|
||||
LateBound(ty::DebruijnIndex, /* late-bound index */ u32, /* lifetime decl */ DefId),
|
||||
Free(DefId, /* lifetime decl */ DefId),
|
||||
@@ -46,10 +46,10 @@ pub enum ObjectLifetimeDefault {
|
||||
/// Maps the id of each lifetime reference to the lifetime decl
|
||||
/// that it corresponds to.
|
||||
#[derive(Default, HashStable, Debug)]
|
||||
pub struct ResolveLifetimes {
|
||||
pub struct ResolveBoundVars {
|
||||
/// Maps from every use of a named (not anonymous) lifetime to a
|
||||
/// `Region` describing how that region is bound
|
||||
pub defs: FxHashMap<OwnerId, FxHashMap<ItemLocalId, Region>>,
|
||||
pub defs: FxHashMap<OwnerId, FxHashMap<ItemLocalId, ResolvedArg>>,
|
||||
|
||||
pub late_bound_vars: FxHashMap<OwnerId, FxHashMap<ItemLocalId, Vec<ty::BoundVariableKind>>>,
|
||||
}
|
||||
@@ -1641,12 +1641,12 @@ rustc_queries! {
|
||||
/// Does lifetime resolution on items. Importantly, we can't resolve
|
||||
/// lifetimes directly on things like trait methods, because of trait params.
|
||||
/// See `rustc_resolve::late::lifetimes for details.
|
||||
query resolve_lifetimes(_: hir::OwnerId) -> &'tcx ResolveLifetimes {
|
||||
query resolve_bound_vars(_: hir::OwnerId) -> &'tcx ResolveBoundVars {
|
||||
arena_cache
|
||||
desc { "resolving lifetimes" }
|
||||
}
|
||||
query named_region_map(_: hir::OwnerId) ->
|
||||
Option<&'tcx FxHashMap<ItemLocalId, Region>> {
|
||||
query named_variable_map(_: hir::OwnerId) ->
|
||||
Option<&'tcx FxHashMap<ItemLocalId, ResolvedArg>> {
|
||||
desc { "looking up a named region" }
|
||||
}
|
||||
query is_late_bound_map(_: hir::OwnerId) -> Option<&'tcx FxIndexSet<ItemLocalId>> {
|
||||
|
||||
@@ -9,7 +9,7 @@ use crate::dep_graph::{DepGraph, DepKindStruct};
|
||||
use crate::infer::canonical::{CanonicalVarInfo, CanonicalVarInfos};
|
||||
use crate::lint::struct_lint_level;
|
||||
use crate::middle::codegen_fn_attrs::CodegenFnAttrs;
|
||||
use crate::middle::resolve_lifetime;
|
||||
use crate::middle::resolve_bound_vars;
|
||||
use crate::middle::stability;
|
||||
use crate::mir::interpret::{self, Allocation, ConstAllocation};
|
||||
use crate::mir::{
|
||||
@@ -2278,9 +2278,9 @@ impl<'tcx> TyCtxt<'tcx> {
|
||||
Some(&*candidates)
|
||||
}
|
||||
|
||||
pub fn named_region(self, id: HirId) -> Option<resolve_lifetime::Region> {
|
||||
pub fn named_bound_var(self, id: HirId) -> Option<resolve_bound_vars::ResolvedArg> {
|
||||
debug!(?id, "named_region");
|
||||
self.named_region_map(id.owner).and_then(|map| map.get(&id.local_id).cloned())
|
||||
self.named_variable_map(id.owner).and_then(|map| map.get(&id.local_id).cloned())
|
||||
}
|
||||
|
||||
pub fn is_late_bound(self, id: HirId) -> bool {
|
||||
|
||||
@@ -57,7 +57,7 @@ trivially_parameterized_over_tcx! {
|
||||
crate::metadata::ModChild,
|
||||
crate::middle::codegen_fn_attrs::CodegenFnAttrs,
|
||||
crate::middle::exported_symbols::SymbolExportInfo,
|
||||
crate::middle::resolve_lifetime::ObjectLifetimeDefault,
|
||||
crate::middle::resolve_bound_vars::ObjectLifetimeDefault,
|
||||
crate::mir::ConstQualifs,
|
||||
ty::AssocItemContainer,
|
||||
ty::DeducedParamAttrs,
|
||||
|
||||
@@ -6,7 +6,7 @@ use crate::middle::codegen_fn_attrs::CodegenFnAttrs;
|
||||
use crate::middle::exported_symbols::{ExportedSymbol, SymbolExportInfo};
|
||||
use crate::middle::lib_features::LibFeatures;
|
||||
use crate::middle::privacy::EffectiveVisibilities;
|
||||
use crate::middle::resolve_lifetime::{ObjectLifetimeDefault, Region, ResolveLifetimes};
|
||||
use crate::middle::resolve_bound_vars::{ObjectLifetimeDefault, ResolveBoundVars, ResolvedArg};
|
||||
use crate::middle::stability::{self, DeprecationEntry};
|
||||
use crate::mir;
|
||||
use crate::mir::interpret::GlobalId;
|
||||
|
||||
Reference in New Issue
Block a user