@@ -6,7 +6,7 @@ use std::ops::{Deref, DerefMut};
66use rustc_abi:: { ExternAbi , Size } ;
77use rustc_apfloat:: Float ;
88use rustc_apfloat:: ieee:: { Double , Half , Quad , Single } ;
9- use rustc_data_structures:: fx:: { FxHashMap , FxIndexMap } ;
9+ use rustc_data_structures:: fx:: { FxIndexMap , IndexEntry } ;
1010use rustc_data_structures:: unord:: UnordMap ;
1111use rustc_hir as hir;
1212use rustc_hir:: LangItem ;
@@ -3497,8 +3497,8 @@ pub fn trimmed_def_paths(tcx: TyCtxt<'_>, (): ()) -> DefIdMap<Symbol> {
34973497
34983498 // Once constructed, unique namespace+symbol pairs will have a `Some(_)` entry, while
34993499 // non-unique pairs will have a `None` entry.
3500- let unique_symbols_rev: & mut FxHashMap < ( Namespace , Symbol ) , Option < DefId > > =
3501- & mut FxHashMap :: default ( ) ;
3500+ let unique_symbols_rev: & mut FxIndexMap < ( Namespace , Symbol ) , Option < DefId > > =
3501+ & mut FxIndexMap :: default ( ) ;
35023502
35033503 for symbol_set in tcx. resolutions ( ( ) ) . glob_map . values ( ) {
35043504 for symbol in symbol_set {
@@ -3508,27 +3508,23 @@ pub fn trimmed_def_paths(tcx: TyCtxt<'_>, (): ()) -> DefIdMap<Symbol> {
35083508 }
35093509 }
35103510
3511- for_each_def ( tcx, |ident, ns, def_id| {
3512- use std:: collections:: hash_map:: Entry :: { Occupied , Vacant } ;
3513-
3514- match unique_symbols_rev. entry ( ( ns, ident. name ) ) {
3515- Occupied ( mut v) => match v. get ( ) {
3516- None => { }
3517- Some ( existing) => {
3518- if * existing != def_id {
3519- v. insert ( None ) ;
3520- }
3511+ for_each_def ( tcx, |ident, ns, def_id| match unique_symbols_rev. entry ( ( ns, ident. name ) ) {
3512+ IndexEntry :: Occupied ( mut v) => match v. get ( ) {
3513+ None => { }
3514+ Some ( existing) => {
3515+ if * existing != def_id {
3516+ v. insert ( None ) ;
35213517 }
3522- } ,
3523- Vacant ( v) => {
3524- v. insert ( Some ( def_id) ) ;
35253518 }
3519+ } ,
3520+ IndexEntry :: Vacant ( v) => {
3521+ v. insert ( Some ( def_id) ) ;
35263522 }
35273523 } ) ;
35283524
35293525 // Put the symbol from all the unique namespace+symbol pairs into `map`.
35303526 let mut map: DefIdMap < Symbol > = Default :: default ( ) ;
3531- for ( ( _, symbol) , opt_def_id) in unique_symbols_rev. drain ( ) {
3527+ for ( ( _, symbol) , opt_def_id) in unique_symbols_rev. drain ( .. ) {
35323528 use std:: collections:: hash_map:: Entry :: { Occupied , Vacant } ;
35333529
35343530 if let Some ( def_id) = opt_def_id {
0 commit comments