about summary refs log tree commit diff
diff options
context:
space:
mode:
authormarmeladema <xademax@gmail.com>2020-05-20 23:01:48 +0100
committermarmeladema <xademax@gmail.com>2020-05-21 17:07:47 +0100
commit13c86f289ba0d2944da320fd6c0359a591ce4374 (patch)
tree30c7e1301784542bf3e00a73b3eaab1bb35d3ca3
parent52359f7c609ef3908c9fc6faf3d0e36f02c6d207 (diff)
downloadrust-13c86f289ba0d2944da320fd6c0359a591ce4374.tar.gz
rust-13c86f289ba0d2944da320fd6c0359a591ce4374.zip
Use `LocalDefId` in `ResolverOutputs::maybe_unused_trait_imports` instead of `NodeId`
-rw-r--r--src/librustc_middle/ty/context.rs6
-rw-r--r--src/librustc_middle/ty/mod.rs5
-rw-r--r--src/librustc_resolve/lib.rs13
3 files changed, 15 insertions, 9 deletions
diff --git a/src/librustc_middle/ty/context.rs b/src/librustc_middle/ty/context.rs
index fffc286c8f6..d090f9235ce 100644
--- a/src/librustc_middle/ty/context.rs
+++ b/src/librustc_middle/ty/context.rs
@@ -1132,11 +1132,7 @@ impl<'tcx> TyCtxt<'tcx> {
             extern_crate_map: resolutions.extern_crate_map,
             trait_map,
             export_map: resolutions.export_map,
-            maybe_unused_trait_imports: resolutions
-                .maybe_unused_trait_imports
-                .into_iter()
-                .map(|id| definitions.local_def_id(id))
-                .collect(),
+            maybe_unused_trait_imports: resolutions.maybe_unused_trait_imports,
             maybe_unused_extern_crates: resolutions
                 .maybe_unused_extern_crates
                 .into_iter()
diff --git a/src/librustc_middle/ty/mod.rs b/src/librustc_middle/ty/mod.rs
index 820aa457d7c..4dc815fa7bc 100644
--- a/src/librustc_middle/ty/mod.rs
+++ b/src/librustc_middle/ty/mod.rs
@@ -17,11 +17,12 @@ use crate::ty;
 use crate::ty::subst::{InternalSubsts, Subst, SubstsRef};
 use crate::ty::util::{Discr, IntTypeExt};
 use rustc_ast::ast;
-use rustc_ast::node_id::{NodeId, NodeMap, NodeSet};
+use rustc_ast::node_id::{NodeId, NodeMap};
 use rustc_attr as attr;
 use rustc_data_structures::captures::Captures;
 use rustc_data_structures::fingerprint::Fingerprint;
 use rustc_data_structures::fx::FxHashMap;
+use rustc_data_structures::fx::FxHashSet;
 use rustc_data_structures::fx::FxIndexMap;
 use rustc_data_structures::sorted_map::SortedIndexMultiMap;
 use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
@@ -122,7 +123,7 @@ pub struct ResolverOutputs {
     pub cstore: Box<CrateStoreDyn>,
     pub extern_crate_map: NodeMap<CrateNum>,
     pub trait_map: FxHashMap<hir::HirId, Vec<hir::TraitCandidate<hir::HirId>>>,
-    pub maybe_unused_trait_imports: NodeSet,
+    pub maybe_unused_trait_imports: FxHashSet<LocalDefId>,
     pub maybe_unused_extern_crates: Vec<(NodeId, Span)>,
     pub export_map: ExportMap<hir::HirId>,
     pub glob_map: GlobMap,
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs
index db9af9a0c4b..21a535b85aa 100644
--- a/src/librustc_resolve/lib.rs
+++ b/src/librustc_resolve/lib.rs
@@ -1298,6 +1298,11 @@ impl<'a> Resolver<'a> {
             }
             map
         };
+        let maybe_unused_trait_imports = self
+            .maybe_unused_trait_imports
+            .into_iter()
+            .map(|id| definitions.local_def_id(id))
+            .collect();
         ResolverOutputs {
             definitions: definitions,
             cstore: Box::new(self.crate_loader.into_cstore()),
@@ -1305,7 +1310,7 @@ impl<'a> Resolver<'a> {
             export_map,
             trait_map,
             glob_map: self.glob_map,
-            maybe_unused_trait_imports: self.maybe_unused_trait_imports,
+            maybe_unused_trait_imports,
             maybe_unused_extern_crates: self.maybe_unused_extern_crates,
             extern_prelude: self
                 .extern_prelude
@@ -1348,7 +1353,11 @@ impl<'a> Resolver<'a> {
                 map
             },
             glob_map: self.glob_map.clone(),
-            maybe_unused_trait_imports: self.maybe_unused_trait_imports.clone(),
+            maybe_unused_trait_imports: self
+                .maybe_unused_trait_imports
+                .iter()
+                .map(|id| self.definitions.local_def_id(id.clone()))
+                .collect(),
             maybe_unused_extern_crates: self.maybe_unused_extern_crates.clone(),
             extern_prelude: self
                 .extern_prelude