@@ -142,6 +142,7 @@ impl<'a> std::fmt::Debug for CrateDump<'a> {
142142 writeln ! ( fmt, " cnum: {cnum}" ) ?;
143143 writeln ! ( fmt, " hash: {}" , data. hash( ) ) ?;
144144 writeln ! ( fmt, " reqd: {:?}" , data. dep_kind( ) ) ?;
145+ writeln ! ( fmt, " priv: {:?}" , data. private_dep( ) ) ?;
145146 let CrateSource { dylib, rlib, rmeta } = data. source ( ) ;
146147 if let Some ( dylib) = dylib {
147148 writeln ! ( fmt, " dylib: {}" , dylib. 0 . display( ) ) ?;
@@ -402,6 +403,7 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
402403 /// command parameter is set to `public-dependency`
403404 fn is_private_dep ( & self , name : Symbol , private_dep : Option < bool > ) -> bool {
404405 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:?}" ) ;
405407 match ( extern_private, private_dep) {
406408 // Explicit non-private via `--extern`, explicit non-private from metadata, or
407409 // unspecified with default to public.
@@ -433,10 +435,8 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
433435 let cnum = feed. key ( ) ;
434436
435437 info ! (
436- "register crate `{}` (cnum = {}. private_dep = {})" ,
438+ "register crate `{}` (cnum = {cnum }. private_dep = {private_dep })" ,
437439 crate_root. name( ) ,
438- cnum,
439- private_dep
440440 ) ;
441441
442442 // Maintain a reference to the top most crate.
@@ -573,11 +573,6 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
573573 mut dep_kind : CrateDepKind ,
574574 dep_of : Option < ( & ' b CratePaths , & ' b CrateDep ) > ,
575575 ) -> Result < CrateNum , CrateError > {
576- info ! ( "resolving crate `{}`" , name) ;
577- if !name. as_str ( ) . is_ascii ( ) {
578- return Err ( CrateError :: NonAsciiName ( name) ) ;
579- }
580-
581576 let dep_root = dep_of. map ( |d| d. 0 ) ;
582577 let dep = dep_of. map ( |d| d. 1 ) ;
583578 let hash = dep. map ( |d| d. hash ) ;
@@ -586,6 +581,15 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
586581 let path_kind = if dep. is_some ( ) { PathKind :: Dependency } else { PathKind :: Crate } ;
587582 let private_dep = dep. map ( |d| d. is_private ) ;
588583
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+
589593 let result = if let Some ( cnum) = self . existing_match ( name, hash, path_kind) {
590594 ( LoadResult :: Previous ( cnum) , None )
591595 } else {
0 commit comments