@@ -130,15 +130,15 @@ pub fn configure_and_expand(
130
130
let crate_name = crate_name. to_string ( ) ;
131
131
let ( result, resolver) = BoxedResolver :: new ( static move || {
132
132
let sess = & * sess;
133
- let mut crate_loader = CrateLoader :: new ( sess, & * cstore, & crate_name) ;
133
+ let crate_loader = CrateLoader :: new ( sess, & * cstore, & crate_name) ;
134
134
let resolver_arenas = Resolver :: arenas ( ) ;
135
135
let res = configure_and_expand_inner (
136
136
sess,
137
137
& * cstore,
138
138
krate,
139
139
& crate_name,
140
140
& resolver_arenas,
141
- & mut crate_loader,
141
+ & crate_loader,
142
142
plugin_info,
143
143
) ;
144
144
let mut resolver = match res {
@@ -169,6 +169,7 @@ impl ExpansionResult {
169
169
ExpansionResult {
170
170
defs : Steal :: new ( resolver. definitions ) ,
171
171
resolutions : Steal :: new ( Resolutions {
172
+ extern_crate_map : resolver. extern_crate_map ,
172
173
export_map : resolver. export_map ,
173
174
trait_map : resolver. trait_map ,
174
175
glob_map : resolver. glob_map ,
@@ -187,6 +188,7 @@ impl ExpansionResult {
187
188
ExpansionResult {
188
189
defs : Steal :: new ( resolver. definitions . clone ( ) ) ,
189
190
resolutions : Steal :: new ( Resolutions {
191
+ extern_crate_map : resolver. extern_crate_map . clone ( ) ,
190
192
export_map : resolver. export_map . clone ( ) ,
191
193
trait_map : resolver. trait_map . clone ( ) ,
192
194
glob_map : resolver. glob_map . clone ( ) ,
@@ -319,7 +321,7 @@ fn configure_and_expand_inner<'a>(
319
321
mut krate : ast:: Crate ,
320
322
crate_name : & str ,
321
323
resolver_arenas : & ' a ResolverArenas < ' a > ,
322
- crate_loader : & ' a mut CrateLoader < ' a > ,
324
+ crate_loader : & ' a CrateLoader < ' a > ,
323
325
plugin_info : PluginInfo ,
324
326
) -> Result < ( ast:: Crate , Resolver < ' a > ) > {
325
327
time ( sess, "pre-AST-expansion lint checks" , || {
@@ -663,16 +665,15 @@ fn write_out_deps(compiler: &Compiler, outputs: &OutputFilenames, out_filenames:
663
665
664
666
if sess. binary_dep_depinfo ( ) {
665
667
for cnum in compiler. cstore . crates_untracked ( ) {
666
- let metadata = compiler. cstore . crate_data_as_rc_any ( cnum) ;
667
- let metadata = metadata. downcast_ref :: < cstore:: CrateMetadata > ( ) . unwrap ( ) ;
668
- if let Some ( ( path, _) ) = & metadata. source . dylib {
669
- files. push ( escape_dep_filename ( & FileName :: Real ( path. clone ( ) ) ) ) ;
668
+ let source = compiler. cstore . crate_source_untracked ( cnum) ;
669
+ if let Some ( ( path, _) ) = source. dylib {
670
+ files. push ( escape_dep_filename ( & FileName :: Real ( path) ) ) ;
670
671
}
671
- if let Some ( ( path, _) ) = & metadata . source . rlib {
672
- files. push ( escape_dep_filename ( & FileName :: Real ( path. clone ( ) ) ) ) ;
672
+ if let Some ( ( path, _) ) = source. rlib {
673
+ files. push ( escape_dep_filename ( & FileName :: Real ( path) ) ) ;
673
674
}
674
- if let Some ( ( path, _) ) = & metadata . source . rmeta {
675
- files. push ( escape_dep_filename ( & FileName :: Real ( path. clone ( ) ) ) ) ;
675
+ if let Some ( ( path, _) ) = source. rmeta {
676
+ files. push ( escape_dep_filename ( & FileName :: Real ( path) ) ) ;
676
677
}
677
678
}
678
679
}
0 commit comments