Compute item_generics_num_lifetimes during resolution.
This commit is contained in:
parent
74fb87e3a0
commit
26eeec0baf
4 changed files with 30 additions and 54 deletions
|
@ -1030,6 +1030,8 @@ pub struct Resolver<'a> {
|
|||
trait_impl_items: FxHashSet<LocalDefId>,
|
||||
|
||||
legacy_const_generic_args: FxHashMap<DefId, Option<Vec<usize>>>,
|
||||
/// Amount of lifetime parameters for each item in the crate.
|
||||
item_generics_num_lifetimes: FxHashMap<LocalDefId, usize>,
|
||||
|
||||
main_def: Option<MainDefinition>,
|
||||
}
|
||||
|
@ -1109,8 +1111,12 @@ impl ResolverAstLowering for Resolver<'_> {
|
|||
}
|
||||
}
|
||||
|
||||
fn item_generics_num_lifetimes(&self, def_id: DefId, sess: &Session) -> usize {
|
||||
self.cstore().item_generics_num_lifetimes(def_id, sess)
|
||||
fn item_generics_num_lifetimes(&self, def_id: DefId) -> usize {
|
||||
if let Some(def_id) = def_id.as_local() {
|
||||
self.item_generics_num_lifetimes[&def_id]
|
||||
} else {
|
||||
self.cstore().item_generics_num_lifetimes(def_id, self.session)
|
||||
}
|
||||
}
|
||||
|
||||
fn legacy_const_generic_args(&mut self, expr: &Expr) -> Option<Vec<usize>> {
|
||||
|
@ -1390,6 +1396,7 @@ impl<'a> Resolver<'a> {
|
|||
next_disambiguator: Default::default(),
|
||||
trait_impl_items: Default::default(),
|
||||
legacy_const_generic_args: Default::default(),
|
||||
item_generics_num_lifetimes: Default::default(),
|
||||
main_def: Default::default(),
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue