Rollup merge of #92161 - petrochenkov:misclean, r=cjgillot

resolve: Minor miscellaneous cleanups from #89059

`@bors` rollup=always
This commit is contained in:
Matthias Krüger 2021-12-27 21:42:27 +01:00 committed by GitHub
commit a11414d62e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 26 deletions

View File

@ -415,16 +415,12 @@ pub fn load_macro_untracked(&self, id: DefId, sess: &Session) -> LoadedMacro {
let span = data.get_span(id.index, sess);
let attrs = data.get_item_attrs(id.index, sess).collect();
let ident = data.item_ident(id.index, sess);
LoadedMacro::MacroDef(
ast::Item {
ident,
ident: data.item_ident(id.index, sess),
id: ast::DUMMY_NODE_ID,
span,
attrs,
attrs: data.get_item_attrs(id.index, sess).collect(),
kind: ast::ItemKind::MacroDef(data.get_macro(id.index, sess)),
vis: ast::Visibility {
span: span.shrink_to_lo(),

View File

@ -3419,27 +3419,21 @@ pub fn legacy_const_generic_args(&mut self, expr: &Expr) -> Option<Vec<usize>> {
return v.clone();
}
let parse_attrs = || {
let attrs = self.cstore().item_attrs(def_id, self.session);
let attr =
attrs.iter().find(|a| a.has_name(sym::rustc_legacy_const_generics))?;
let mut ret = vec![];
for meta in attr.meta_item_list()? {
match meta.literal()?.kind {
LitKind::Int(a, _) => {
ret.push(a as usize);
}
_ => panic!("invalid arg index"),
}
let attr = self
.cstore()
.item_attrs(def_id, self.session)
.into_iter()
.find(|a| a.has_name(sym::rustc_legacy_const_generics))?;
let mut ret = Vec::new();
for meta in attr.meta_item_list()? {
match meta.literal()?.kind {
LitKind::Int(a, _) => ret.push(a as usize),
_ => panic!("invalid arg index"),
}
Some(ret)
};
// Cache the lookup to avoid parsing attributes for an iterm
// multiple times.
let ret = parse_attrs();
self.legacy_const_generic_args.insert(def_id, ret.clone());
return ret;
}
// Cache the lookup to avoid parsing attributes for an iterm multiple times.
self.legacy_const_generic_args.insert(def_id, Some(ret.clone()));
return Some(ret);
}
}
None