Skip to content

Commit 4693040

Browse files
committed
Partially revert ed63539
1 parent 8c39ce5 commit 4693040

File tree

1 file changed

+4
-24
lines changed

1 file changed

+4
-24
lines changed

compiler/rustc_metadata/src/creader.rs

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ use rustc_session::lint::{self, BuiltinLintDiag};
2929
use rustc_session::output::validate_crate_name;
3030
use rustc_session::search_paths::PathKind;
3131
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};
3333
use rustc_target::spec::{PanicStrategy, Target, TargetTuple};
3434
use tracing::{debug, info, trace};
3535

@@ -400,28 +400,8 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
400400
/// Sometimes the directly dependent crate is not specified by `--extern`, in this case,
401401
/// `private-dep` is none during loading. This is equivalent to the scenario where the
402402
/// 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 {
415404
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-
&& dep_root.map_or(false, |d| STDLIB_STABLE_CRATES.contains(&d.name))
421-
{
422-
return true;
423-
}
424-
425405
match (extern_private, private_dep) {
426406
// Explicit non-private via `--extern`, explicit non-private from metadata, or
427407
// unspecified with default to public.
@@ -446,7 +426,7 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
446426
let Library { source, metadata } = lib;
447427
let crate_root = metadata.get_root();
448428
let host_hash = host_lib.as_ref().map(|lib| lib.metadata.get_root().hash());
449-
let private_dep = self.is_private_dep(name, private_dep, dep_root);
429+
let private_dep = self.is_private_dep(name, private_dep);
450430

451431
// Claim this crate number and cache it
452432
let feed = self.cstore.intern_stable_crate_id(&crate_root, self.tcx)?;
@@ -642,7 +622,7 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
642622
// not specified by `--extern` on command line parameters, it may be
643623
// `private-dependency` when `register_crate` is called for the first time. Then it must be updated to
644624
// `public-dependency` here.
645-
let private_dep = self.is_private_dep(name, private_dep, dep_root);
625+
let private_dep = self.is_private_dep(name, private_dep);
646626
let data = self.cstore.get_crate_data_mut(cnum);
647627
if data.is_proc_macro_crate() {
648628
dep_kind = CrateDepKind::MacrosOnly;

0 commit comments

Comments
 (0)