Introduce UnordMap, UnordSet, and UnordBag (see MCP 533)
MCP 533: https://github.com/rust-lang/compiler-team/issues/533 Also, as an example, substitute UnordMap for FxHashMap in used_trait_imports query result.
This commit is contained in:
parent
43dd3d514b
commit
9117ea9758
10 changed files with 400 additions and 12 deletions
|
|
@ -1,6 +1,7 @@
|
|||
use rustc_ast::NodeId;
|
||||
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
|
||||
use rustc_data_structures::sync::{self, Lrc};
|
||||
use rustc_data_structures::unord::UnordSet;
|
||||
use rustc_errors::emitter::{Emitter, EmitterWriter};
|
||||
use rustc_errors::json::JsonEmitter;
|
||||
use rustc_feature::UnstableFeatures;
|
||||
|
|
@ -288,8 +289,7 @@ pub(crate) fn create_config(
|
|||
providers.typeck_item_bodies = |_, _| {};
|
||||
// hack so that `used_trait_imports` won't try to call typeck
|
||||
providers.used_trait_imports = |_, _| {
|
||||
static EMPTY_SET: LazyLock<FxHashSet<LocalDefId>> =
|
||||
LazyLock::new(FxHashSet::default);
|
||||
static EMPTY_SET: LazyLock<UnordSet<LocalDefId>> = LazyLock::new(UnordSet::default);
|
||||
&EMPTY_SET
|
||||
};
|
||||
// In case typeck does end up being called, don't ICE in case there were name resolution errors
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue