@@ -29,7 +29,7 @@ use rustc_session::lint::{self, BuiltinLintDiag};
29
29
use rustc_session:: output:: validate_crate_name;
30
30
use rustc_session:: search_paths:: PathKind ;
31
31
use rustc_span:: edition:: Edition ;
32
- use rustc_span:: { DUMMY_SP , Ident , STDLIB_STABLE_CRATES , Span , Symbol , sym} ;
32
+ use rustc_span:: { DUMMY_SP , Ident , Span , Symbol , sym} ;
33
33
use rustc_target:: spec:: { PanicStrategy , Target , TargetTuple } ;
34
34
use tracing:: { debug, info, trace} ;
35
35
@@ -400,29 +400,8 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
400
400
/// Sometimes the directly dependent crate is not specified by `--extern`, in this case,
401
401
/// `private-dep` is none during loading. This is equivalent to the scenario where the
402
402
/// command parameter is set to `public-dependency`
403
- fn is_private_dep (
404
- & self ,
405
- name : Symbol ,
406
- private_dep : Option < bool > ,
407
- dep_root : Option < & CratePaths > ,
408
- ) -> bool {
409
- // Standard library crates are never private.
410
- if STDLIB_STABLE_CRATES . contains ( & name) {
411
- tracing:: info!( "returning false for {name} is private" ) ;
412
- return false ;
413
- }
414
-
403
+ fn is_private_dep ( & self , name : Symbol , private_dep : Option < bool > ) -> bool {
415
404
let extern_private = self . sess . opts . externs . get ( name. as_str ( ) ) . map ( |e| e. is_private_dep ) ;
416
-
417
- // Any descendants of `std` should be private. These crates are usually not marked
418
- // private in metadata, so we ignore that field.
419
- if extern_private. is_none ( )
420
- && let Some ( dep) = dep_root
421
- && STDLIB_STABLE_CRATES . contains ( & dep. name )
422
- {
423
- return true ;
424
- }
425
-
426
405
match ( extern_private, private_dep) {
427
406
// Explicit non-private via `--extern`, explicit non-private from metadata, or
428
407
// unspecified with default to public.
@@ -447,7 +426,7 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
447
426
let Library { source, metadata } = lib;
448
427
let crate_root = metadata. get_root ( ) ;
449
428
let host_hash = host_lib. as_ref ( ) . map ( |lib| lib. metadata . get_root ( ) . hash ( ) ) ;
450
- let private_dep = self . is_private_dep ( name, private_dep, dep_root ) ;
429
+ let private_dep = self . is_private_dep ( name, private_dep) ;
451
430
452
431
// Claim this crate number and cache it
453
432
let feed = self . cstore . intern_stable_crate_id ( & crate_root, self . tcx ) ?;
@@ -643,7 +622,7 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
643
622
// not specified by `--extern` on command line parameters, it may be
644
623
// `private-dependency` when `register_crate` is called for the first time. Then it must be updated to
645
624
// `public-dependency` here.
646
- let private_dep = self . is_private_dep ( name, private_dep, dep_root ) ;
625
+ let private_dep = self . is_private_dep ( name, private_dep) ;
647
626
let data = self . cstore . get_crate_data_mut ( cnum) ;
648
627
if data. is_proc_macro_crate ( ) {
649
628
dep_kind = CrateDepKind :: MacrosOnly ;
0 commit comments