rustc_expand: Switch FxHashMap to FxIndexMap where iteration is used
This commit is contained in:
parent
e6c43cf8b9
commit
b47a934194
@ -8,7 +8,7 @@
|
|||||||
use rustc_ast::visit::{AssocCtxt, Visitor};
|
use rustc_ast::visit::{AssocCtxt, Visitor};
|
||||||
use rustc_ast::{self as ast, Attribute, HasAttrs, Item, NodeId, PatKind};
|
use rustc_ast::{self as ast, Attribute, HasAttrs, Item, NodeId, PatKind};
|
||||||
use rustc_attr::{self as attr, Deprecation, Stability};
|
use rustc_attr::{self as attr, Deprecation, Stability};
|
||||||
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
|
use rustc_data_structures::fx::{FxHashSet, FxIndexMap};
|
||||||
use rustc_data_structures::sync::{self, Lrc};
|
use rustc_data_structures::sync::{self, Lrc};
|
||||||
use rustc_errors::{Applicability, DiagnosticBuilder, ErrorGuaranteed, MultiSpan, PResult};
|
use rustc_errors::{Applicability, DiagnosticBuilder, ErrorGuaranteed, MultiSpan, PResult};
|
||||||
use rustc_lint_defs::builtin::PROC_MACRO_BACK_COMPAT;
|
use rustc_lint_defs::builtin::PROC_MACRO_BACK_COMPAT;
|
||||||
@ -985,7 +985,7 @@ pub struct ExtCtxt<'a> {
|
|||||||
/// Error recovery mode entered when expansion is stuck
|
/// Error recovery mode entered when expansion is stuck
|
||||||
/// (or during eager expansion, but that's a hack).
|
/// (or during eager expansion, but that's a hack).
|
||||||
pub force_mode: bool,
|
pub force_mode: bool,
|
||||||
pub expansions: FxHashMap<Span, Vec<String>>,
|
pub expansions: FxIndexMap<Span, Vec<String>>,
|
||||||
/// Used for running pre-expansion lints on freshly loaded modules.
|
/// Used for running pre-expansion lints on freshly loaded modules.
|
||||||
pub(super) lint_store: LintStoreExpandDyn<'a>,
|
pub(super) lint_store: LintStoreExpandDyn<'a>,
|
||||||
/// Used for storing lints generated during expansion, like `NAMED_ARGUMENTS_USED_POSITIONALLY`
|
/// Used for storing lints generated during expansion, like `NAMED_ARGUMENTS_USED_POSITIONALLY`
|
||||||
@ -1020,7 +1020,7 @@ pub fn new(
|
|||||||
is_trailing_mac: false,
|
is_trailing_mac: false,
|
||||||
},
|
},
|
||||||
force_mode: false,
|
force_mode: false,
|
||||||
expansions: FxHashMap::default(),
|
expansions: FxIndexMap::default(),
|
||||||
expanded_inert_attrs: MarkedAttrs::new(),
|
expanded_inert_attrs: MarkedAttrs::new(),
|
||||||
buffered_early_lint: vec![],
|
buffered_early_lint: vec![],
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
#![allow(rustc::potential_query_instability)]
|
|
||||||
#![feature(array_windows)]
|
#![feature(array_windows)]
|
||||||
#![feature(associated_type_bounds)]
|
#![feature(associated_type_bounds)]
|
||||||
#![feature(associated_type_defaults)]
|
#![feature(associated_type_defaults)]
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
use rustc_ast::{NodeId, DUMMY_NODE_ID};
|
use rustc_ast::{NodeId, DUMMY_NODE_ID};
|
||||||
use rustc_ast_pretty::pprust;
|
use rustc_ast_pretty::pprust;
|
||||||
use rustc_attr::{self as attr, TransparencyError};
|
use rustc_attr::{self as attr, TransparencyError};
|
||||||
use rustc_data_structures::fx::FxHashMap;
|
use rustc_data_structures::fx::{FxHashMap, FxIndexMap};
|
||||||
use rustc_errors::{Applicability, Diagnostic, DiagnosticBuilder, ErrorGuaranteed};
|
use rustc_errors::{Applicability, Diagnostic, DiagnosticBuilder, ErrorGuaranteed};
|
||||||
use rustc_feature::Features;
|
use rustc_feature::Features;
|
||||||
use rustc_lint_defs::builtin::{
|
use rustc_lint_defs::builtin::{
|
||||||
@ -198,7 +198,7 @@ fn macro_rules_dummy_expander<'cx>(
|
|||||||
DummyResult::any(span)
|
DummyResult::any(span)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn trace_macros_note(cx_expansions: &mut FxHashMap<Span, Vec<String>>, sp: Span, message: String) {
|
fn trace_macros_note(cx_expansions: &mut FxIndexMap<Span, Vec<String>>, sp: Span, message: String) {
|
||||||
let sp = sp.macro_backtrace().last().map_or(sp, |trace| trace.call_site);
|
let sp = sp.macro_backtrace().last().map_or(sp, |trace| trace.call_site);
|
||||||
cx_expansions.entry(sp).or_default().push(message);
|
cx_expansions.entry(sp).or_default().push(message);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user