@@ -27,7 +27,6 @@ use rustc_hir::def_id::{DefId, LocalDefId, CRATE_DEF_ID};
27
27
use rustc_metadata:: creader:: LoadedMacro ;
28
28
use rustc_middle:: metadata:: ModChild ;
29
29
use rustc_middle:: { bug, ty} ;
30
- use rustc_session:: cstore:: CrateStore ;
31
30
use rustc_span:: hygiene:: { ExpnId , LocalExpnId , MacroKind } ;
32
31
use rustc_span:: symbol:: { kw, sym, Ident , Symbol } ;
33
32
use rustc_span:: Span ;
@@ -118,20 +117,14 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
118
117
let def_kind = self . cstore ( ) . def_kind ( def_id) ;
119
118
match def_kind {
120
119
DefKind :: Mod | DefKind :: Enum | DefKind :: Trait => {
121
- let def_key = self . cstore ( ) . def_key ( def_id) ;
122
- let parent = def_key. parent . map ( |index| {
123
- self . get_nearest_non_block_module ( DefId { index, krate : def_id. krate } )
124
- } ) ;
125
- let name = if let Some ( cnum) = def_id. as_crate_root ( ) {
126
- self . cstore ( ) . crate_name ( cnum)
127
- } else {
128
- def_key. disambiguated_data . data . get_opt_name ( ) . expect ( "module without name" )
129
- } ;
130
-
120
+ let parent = self
121
+ . tcx
122
+ . opt_parent ( def_id)
123
+ . map ( |parent_id| self . get_nearest_non_block_module ( parent_id) ) ;
131
124
let expn_id = self . cstore ( ) . module_expansion_untracked ( def_id, & self . tcx . sess ) ;
132
125
Some ( self . new_module (
133
126
parent,
134
- ModuleKind :: Def ( def_kind, def_id, name ) ,
127
+ ModuleKind :: Def ( def_kind, def_id, self . tcx . item_name ( def_id ) ) ,
135
128
expn_id,
136
129
self . def_span ( def_id) ,
137
130
// FIXME: Account for `#[no_implicit_prelude]` attributes.
0 commit comments