Skip to content

Commit

Permalink
resolve: Minor miscellaneous cleanups from rust-lang#89059
Browse files Browse the repository at this point in the history
  • Loading branch information
petrochenkov committed Dec 21, 2021
1 parent 3d57c61 commit 1324100
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 26 deletions.
8 changes: 2 additions & 6 deletions compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -417,16 +417,12 @@ impl CStore {

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(),
Expand Down
34 changes: 14 additions & 20 deletions compiler/rustc_resolve/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3419,27 +3419,21 @@ impl<'a> Resolver<'a> {
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
Expand Down

0 comments on commit 1324100

Please sign in to comment.