Skip to content

Commit 19ecfcd

Browse files
committed
resolve late lifetimes by item
This reverts commit 22ae20733515d710c1134600bc1e29cdd76f6b9b.
1 parent f5fe425 commit 19ecfcd

21 files changed

+514
-521
lines changed

compiler/rustc_middle/src/middle/resolve_lifetime.rs

-5
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,4 @@ pub struct ResolveLifetimes {
7878
/// be late-bound if (a) it does NOT appear in a where-clause and
7979
/// (b) it DOES appear in the arguments.
8080
pub late_bound: FxHashMap<LocalDefId, FxHashSet<ItemLocalId>>,
81-
82-
/// For each type and trait definition, maps type parameters
83-
/// to the trait object lifetime defaults computed from them.
84-
pub object_lifetime_defaults:
85-
FxHashMap<LocalDefId, FxHashMap<ItemLocalId, Vec<ObjectLifetimeDefault>>>,
8681
}

compiler/rustc_middle/src/query/mod.rs

+8-3
Original file line numberDiff line numberDiff line change
@@ -1253,7 +1253,12 @@ rustc_queries! {
12531253
}
12541254

12551255
/// Lifetime resolution. See `middle::resolve_lifetimes`.
1256-
query resolve_lifetimes(_: CrateNum) -> ResolveLifetimes {
1256+
query resolve_lifetimes_definition(_: LocalDefId) -> ResolveLifetimes {
1257+
storage(ArenaCacheSelector<'tcx>)
1258+
desc { "resolving lifetimes in a definition" }
1259+
}
1260+
/// Lifetime resolution. See `middle::resolve_lifetimes`.
1261+
query resolve_lifetimes(_: LocalDefId) -> ResolveLifetimes {
12571262
storage(ArenaCacheSelector<'tcx>)
12581263
desc { "resolving lifetimes" }
12591264
}
@@ -1266,8 +1271,8 @@ rustc_queries! {
12661271
desc { "testing if a region is late bound" }
12671272
}
12681273
query object_lifetime_defaults_map(_: LocalDefId)
1269-
-> Option<&'tcx FxHashMap<ItemLocalId, Vec<ObjectLifetimeDefault>>> {
1270-
desc { "looking up lifetime defaults for a region" }
1274+
-> Option<Vec<ObjectLifetimeDefault>> {
1275+
desc { "looking up lifetime defaults for a region on an item" }
12711276
}
12721277

12731278
query visibility(def_id: DefId) -> ty::Visibility {

compiler/rustc_middle/src/ty/context.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -2641,6 +2641,7 @@ impl<'tcx> TyCtxt<'tcx> {
26412641
}
26422642

26432643
pub fn named_region(self, id: HirId) -> Option<resolve_lifetime::Region> {
2644+
debug!(?id, "named_region");
26442645
self.named_region_map(id.owner).and_then(|map| map.get(&id.local_id).cloned())
26452646
}
26462647

@@ -2649,9 +2650,8 @@ impl<'tcx> TyCtxt<'tcx> {
26492650
.map_or(false, |(owner, set)| owner == id.owner && set.contains(&id.local_id))
26502651
}
26512652

2652-
pub fn object_lifetime_defaults(self, id: HirId) -> Option<&'tcx [ObjectLifetimeDefault]> {
2653+
pub fn object_lifetime_defaults(self, id: HirId) -> Option<Vec<ObjectLifetimeDefault>> {
26532654
self.object_lifetime_defaults_map(id.owner)
2654-
.and_then(|map| map.get(&id.local_id).map(|v| &**v))
26552655
}
26562656
}
26572657

0 commit comments

Comments
 (0)