@@ -262,6 +262,7 @@ impl<'a> CrateLoader<'a> {
262
262
ident : Symbol ,
263
263
name : Symbol ,
264
264
hash : Option < & Svh > ,
265
+ extra_filename : Option < & str > ,
265
266
span : Span ,
266
267
path_kind : PathKind ,
267
268
mut dep_kind : DepKind )
@@ -277,6 +278,7 @@ impl<'a> CrateLoader<'a> {
277
278
ident,
278
279
crate_name : name,
279
280
hash : hash. map ( |a| & * a) ,
281
+ extra_filename : extra_filename,
280
282
filesearch : self . sess . target_filesearch ( path_kind) ,
281
283
target : & self . sess . target . target ,
282
284
triple : & self . sess . opts . target_triple ,
@@ -409,7 +411,8 @@ impl<'a> CrateLoader<'a> {
409
411
:: std:: iter:: once ( krate) . chain ( crate_root. crate_deps
410
412
. decode ( metadata)
411
413
. map ( |dep| {
412
- debug ! ( "resolving dep crate {} hash: `{}`" , dep. name, dep. hash) ;
414
+ info ! ( "resolving dep crate {} hash: `{}` extra filename: `{}`" , dep. name, dep. hash,
415
+ dep. extra_filename) ;
413
416
if dep. kind == DepKind :: UnexportedMacrosOnly {
414
417
return krate;
415
418
}
@@ -418,7 +421,8 @@ impl<'a> CrateLoader<'a> {
418
421
_ => dep. kind ,
419
422
} ;
420
423
let ( local_cnum, ..) = self . resolve_crate (
421
- root, dep. name , dep. name , Some ( & dep. hash ) , span, PathKind :: Dependency , dep_kind,
424
+ root, dep. name , dep. name , Some ( & dep. hash ) , Some ( & dep. extra_filename ) , span,
425
+ PathKind :: Dependency , dep_kind,
422
426
) ;
423
427
local_cnum
424
428
} ) ) . collect ( )
@@ -437,6 +441,7 @@ impl<'a> CrateLoader<'a> {
437
441
ident : orig_name,
438
442
crate_name : rename,
439
443
hash : None ,
444
+ extra_filename : None ,
440
445
filesearch : self . sess . host_filesearch ( PathKind :: Crate ) ,
441
446
target : & self . sess . host ,
442
447
triple : & host_triple,
@@ -664,7 +669,7 @@ impl<'a> CrateLoader<'a> {
664
669
665
670
let dep_kind = DepKind :: Implicit ;
666
671
let ( cnum, data) =
667
- self . resolve_crate ( & None , name, name, None , DUMMY_SP , PathKind :: Crate , dep_kind) ;
672
+ self . resolve_crate ( & None , name, name, None , None , DUMMY_SP , PathKind :: Crate , dep_kind) ;
668
673
669
674
// Sanity check the loaded crate to ensure it is indeed a panic runtime
670
675
// and the panic strategy is indeed what we thought it was.
@@ -771,7 +776,7 @@ impl<'a> CrateLoader<'a> {
771
776
let symbol = Symbol :: intern ( name) ;
772
777
let dep_kind = DepKind :: Explicit ;
773
778
let ( _, data) =
774
- self . resolve_crate ( & None , symbol, symbol, None , DUMMY_SP ,
779
+ self . resolve_crate ( & None , symbol, symbol, None , None , DUMMY_SP ,
775
780
PathKind :: Crate , dep_kind) ;
776
781
777
782
// Sanity check the loaded crate to ensure it is indeed a sanitizer runtime
@@ -794,7 +799,7 @@ impl<'a> CrateLoader<'a> {
794
799
let symbol = Symbol :: intern ( "profiler_builtins" ) ;
795
800
let dep_kind = DepKind :: Implicit ;
796
801
let ( _, data) =
797
- self . resolve_crate ( & None , symbol, symbol, None , DUMMY_SP ,
802
+ self . resolve_crate ( & None , symbol, symbol, None , None , DUMMY_SP ,
798
803
PathKind :: Crate , dep_kind) ;
799
804
800
805
// Sanity check the loaded crate to ensure it is indeed a profiler runtime
@@ -909,6 +914,7 @@ impl<'a> CrateLoader<'a> {
909
914
name,
910
915
name,
911
916
None ,
917
+ None ,
912
918
DUMMY_SP ,
913
919
PathKind :: Crate ,
914
920
DepKind :: Implicit ) ;
@@ -1059,7 +1065,8 @@ impl<'a> middle::cstore::CrateLoader for CrateLoader<'a> {
1059
1065
} ;
1060
1066
1061
1067
let ( cnum, ..) = self . resolve_crate (
1062
- & None , item. ident . name , orig_name, None , item. span , PathKind :: Crate , dep_kind,
1068
+ & None , item. ident . name , orig_name, None , None ,
1069
+ item. span , PathKind :: Crate , dep_kind,
1063
1070
) ;
1064
1071
1065
1072
let def_id = definitions. opt_local_def_id ( item. id ) . unwrap ( ) ;
@@ -1074,6 +1081,7 @@ impl<'a> middle::cstore::CrateLoader for CrateLoader<'a> {
1074
1081
}
1075
1082
1076
1083
fn resolve_crate_from_path ( & mut self , name : Symbol , span : Span ) -> CrateNum {
1077
- self . resolve_crate ( & None , name, name, None , span, PathKind :: Crate , DepKind :: Explicit ) . 0
1084
+ self . resolve_crate ( & None , name, name, None , None , span, PathKind :: Crate ,
1085
+ DepKind :: Explicit ) . 0
1078
1086
}
1079
1087
}
0 commit comments