diff --git a/src/librustc/util/nodemap.rs b/src/librustc/util/nodemap.rs index c166a712d7b..7a5c2780f3c 100644 --- a/src/librustc/util/nodemap.rs +++ b/src/librustc/util/nodemap.rs @@ -4,12 +4,7 @@ use crate::hir::def_id::DefId; use crate::hir::{HirId, ItemLocalId}; use syntax::ast; -macro_rules! define_id_collections { - ($map_name:ident, $set_name:ident, $key:ty) => { - pub type $map_name = rustc_data_structures::fx::FxHashMap<$key, T>; - pub type $set_name = rustc_data_structures::fx::FxHashSet<$key>; - }; -} +use rustc_data_structures::define_id_collections; define_id_collections!(NodeMap, NodeSet, ast::NodeId); define_id_collections!(DefIdMap, DefIdSet, DefId); diff --git a/src/librustc_data_structures/fx.rs b/src/librustc_data_structures/fx.rs index a9e8c2edbff..bbeb193dba3 100644 --- a/src/librustc_data_structures/fx.rs +++ b/src/librustc_data_structures/fx.rs @@ -4,3 +4,11 @@ pub use rustc_hash::{FxHashMap, FxHashSet, FxHasher}; pub type FxIndexMap = indexmap::IndexMap>; pub type FxIndexSet = indexmap::IndexSet>; + +#[macro_export] +macro_rules! define_id_collections { + ($map_name:ident, $set_name:ident, $key:ty) => { + pub type $map_name = $crate::fx::FxHashMap<$key, T>; + pub type $set_name = $crate::fx::FxHashSet<$key>; + }; +}