@@ -35,7 +35,7 @@ use rustc_data_structures::sync::{self, par_iter, Lrc, ParallelIterator};
35
35
use rustc_hir as hir;
36
36
use rustc_hir:: def:: { CtorKind , CtorOf , DefKind , Res } ;
37
37
use rustc_hir:: def_id:: { CrateNum , DefId , DefIdMap , LocalDefId , CRATE_DEF_INDEX , LOCAL_CRATE } ;
38
- use rustc_hir:: { Constness , GlobMap , Node } ;
38
+ use rustc_hir:: { Constness , GlobMap , Node , TraitMap } ;
39
39
use rustc_index:: vec:: { Idx , IndexVec } ;
40
40
use rustc_macros:: HashStable ;
41
41
use rustc_serialize:: { self , Encodable , Encoder } ;
@@ -46,7 +46,6 @@ use rustc_target::abi::Align;
46
46
use syntax:: ast:: { self , Ident , Name } ;
47
47
use syntax:: node_id:: { NodeId , NodeMap , NodeSet } ;
48
48
49
- use smallvec:: SmallVec ;
50
49
use std:: cell:: RefCell ;
51
50
use std:: cmp:: { self , Ordering } ;
52
51
use std:: fmt;
@@ -123,28 +122,11 @@ mod sty;
123
122
124
123
// Data types
125
124
126
- #[ derive( Clone , Debug ) ]
127
- pub struct TraitCandidate {
128
- pub def_id : DefId ,
129
- pub import_ids : SmallVec < [ NodeId ; 1 ] > ,
130
- }
131
-
132
- impl TraitCandidate {
133
- fn node_to_hir_id ( self , definitions : & hir_map:: Definitions ) -> hir:: TraitCandidate {
134
- let TraitCandidate { def_id, import_ids } = self ;
135
- let import_ids =
136
- import_ids. into_iter ( ) . map ( |node_id| definitions. node_to_hir_id ( node_id) ) . collect ( ) ;
137
- hir:: TraitCandidate { def_id, import_ids }
138
- }
139
- }
140
-
141
- pub type TraitMap = NodeMap < Vec < TraitCandidate > > ;
142
-
143
125
pub struct ResolverOutputs {
144
126
pub definitions : hir_map:: Definitions ,
145
127
pub cstore : Box < CrateStoreDyn > ,
146
128
pub extern_crate_map : NodeMap < CrateNum > ,
147
- pub trait_map : TraitMap ,
129
+ pub trait_map : TraitMap < NodeId > ,
148
130
pub maybe_unused_trait_imports : NodeSet ,
149
131
pub maybe_unused_extern_crates : Vec < ( NodeId , Span ) > ,
150
132
pub export_map : ExportMap < NodeId > ,
0 commit comments