From 13c86f289ba0d2944da320fd6c0359a591ce4374 Mon Sep 17 00:00:00 2001 From: marmeladema Date: Wed, 20 May 2020 23:01:48 +0100 Subject: [PATCH] Use `LocalDefId` in `ResolverOutputs::maybe_unused_trait_imports` instead of `NodeId` --- src/librustc_middle/ty/context.rs | 6 +----- src/librustc_middle/ty/mod.rs | 5 +++-- src/librustc_resolve/lib.rs | 13 +++++++++++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/librustc_middle/ty/context.rs b/src/librustc_middle/ty/context.rs index fffc286c8f6f..d090f9235ce3 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 820aa457d7c0..4dc815fa7bcd 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, pub extern_crate_map: NodeMap, pub trait_map: FxHashMap>>, - pub maybe_unused_trait_imports: NodeSet, + pub maybe_unused_trait_imports: FxHashSet, pub maybe_unused_extern_crates: Vec<(NodeId, Span)>, pub export_map: ExportMap, pub glob_map: GlobMap, diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index db9af9a0c4be..21a535b85aac 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