@@ -142,6 +142,7 @@ impl<'a> std::fmt::Debug for CrateDump<'a> {
142
142
writeln ! ( fmt, " cnum: {cnum}" ) ?;
143
143
writeln ! ( fmt, " hash: {}" , data. hash( ) ) ?;
144
144
writeln ! ( fmt, " reqd: {:?}" , data. dep_kind( ) ) ?;
145
+ writeln ! ( fmt, " priv: {:?}" , data. private_dep( ) ) ?;
145
146
let CrateSource { dylib, rlib, rmeta } = data. source ( ) ;
146
147
if let Some ( dylib) = dylib {
147
148
writeln ! ( fmt, " dylib: {}" , dylib. 0 . display( ) ) ?;
@@ -402,6 +403,7 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
402
403
/// command parameter is set to `public-dependency`
403
404
fn is_private_dep ( & self , name : Symbol , private_dep : Option < bool > ) -> bool {
404
405
let extern_private = self . sess . opts . externs . get ( name. as_str ( ) ) . map ( |e| e. is_private_dep ) ;
406
+ debug ! ( "name: {name}, private: {private_dep:?}, extern private: {extern_private:?}" ) ;
405
407
match ( extern_private, private_dep) {
406
408
// Explicit non-private via `--extern`, explicit non-private from metadata, or
407
409
// unspecified with default to public.
@@ -433,10 +435,8 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
433
435
let cnum = feed. key ( ) ;
434
436
435
437
info ! (
436
- "register crate `{}` (cnum = {}. private_dep = {})" ,
438
+ "register crate `{}` (cnum = {cnum }. private_dep = {private_dep })" ,
437
439
crate_root. name( ) ,
438
- cnum,
439
- private_dep
440
440
) ;
441
441
442
442
// Maintain a reference to the top most crate.
@@ -573,11 +573,6 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
573
573
mut dep_kind : CrateDepKind ,
574
574
dep_of : Option < ( & ' b CratePaths , & ' b CrateDep ) > ,
575
575
) -> Result < CrateNum , CrateError > {
576
- info ! ( "resolving crate `{}`" , name) ;
577
- if !name. as_str ( ) . is_ascii ( ) {
578
- return Err ( CrateError :: NonAsciiName ( name) ) ;
579
- }
580
-
581
576
let dep_root = dep_of. map ( |d| d. 0 ) ;
582
577
let dep = dep_of. map ( |d| d. 1 ) ;
583
578
let hash = dep. map ( |d| d. hash ) ;
@@ -586,6 +581,15 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
586
581
let path_kind = if dep. is_some ( ) { PathKind :: Dependency } else { PathKind :: Crate } ;
587
582
let private_dep = dep. map ( |d| d. is_private ) ;
588
583
584
+ info ! (
585
+ "resolving crate `{}`, dep of {:?} private {private_dep:?}" ,
586
+ name,
587
+ dep_root. map( |d| d. name)
588
+ ) ;
589
+ if !name. as_str ( ) . is_ascii ( ) {
590
+ return Err ( CrateError :: NonAsciiName ( name) ) ;
591
+ }
592
+
589
593
let result = if let Some ( cnum) = self . existing_match ( name, hash, path_kind) {
590
594
( LoadResult :: Previous ( cnum) , None )
591
595
} else {
0 commit comments