Skip to content

Commit 5d14c34

Browse files
committed
Revert unused_arms to HashMap; they are already sorted so no need to use IndexMap for it
1 parent 93ab85f commit 5d14c34

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

compiler/rustc_resolve/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1122,7 +1122,7 @@ pub struct Resolver<'ra, 'tcx> {
11221122
ast_transform_scopes: FxHashMap<LocalExpnId, Module<'ra>>,
11231123
unused_macros: FxHashMap<LocalDefId, (NodeId, Ident)>,
11241124
/// A map from the macro to all its potentially unused arms.
1125-
unused_macro_rules: FxIndexMap<LocalDefId, FxIndexMap<usize, (Ident, Span)>>,
1125+
unused_macro_rules: FxIndexMap<LocalDefId, FxHashMap<usize, (Ident, Span)>>,
11261126
proc_macro_stubs: FxHashSet<LocalDefId>,
11271127
/// Traces collected during macro resolution and validated when it's complete.
11281128
single_segment_macro_resolutions:

compiler/rustc_resolve/src/macros.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ impl<'ra, 'tcx> ResolverExpand for Resolver<'ra, 'tcx> {
341341
fn record_macro_rule_usage(&mut self, id: NodeId, rule_i: usize) {
342342
let did = self.local_def_id(id);
343343
if let Some(rules) = self.unused_macro_rules.get_mut(&did) {
344-
rules.shift_remove(&rule_i);
344+
rules.remove(&rule_i);
345345
}
346346
}
347347

@@ -360,6 +360,8 @@ impl<'ra, 'tcx> ResolverExpand for Resolver<'ra, 'tcx> {
360360
}
361361

362362
for (&def_id, unused_arms) in self.unused_macro_rules.iter() {
363+
// It is already sorted below.
364+
#[allow(rustc::potential_query_instability)]
363365
let mut unused_arms = unused_arms.iter().collect::<Vec<_>>();
364366
unused_arms.sort_by_key(|&(&arm_i, _)| arm_i);
365367

0 commit comments

Comments
 (0)