Skip to content

Commit 825f2bf

Browse files
committed
Auto merge of rust-lang#143548 - Diggsey:db-limit-extern-crate-usage, r=oli-obk
Restrict sysroot crate imports to those defined in this repo. It's common to import dependencies from the sysroot via `extern crate` rather than use an explicit cargo dependency, when it's necessary to use the same dependency version as used by rustc itself. However, this is dangerous for crates.io crates, since rustc may not pull in the dependency on some targets, or may pull in multiple versions. In both cases, the `extern crate` fails to resolve. To address this, re-export all such dependencies from the appropriate `rustc_*` crates, and use this alias from crates which would otherwise need to use `extern crate`. See rust-lang#143492 for an example of the kind of issue that can occur.
2 parents d2ade4e + c5d02bb commit 825f2bf

File tree

5 files changed

+5
-7
lines changed

5 files changed

+5
-7
lines changed

src/back/lto.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ use rustc_codegen_ssa::traits::*;
3030
use rustc_codegen_ssa::{ModuleCodegen, ModuleKind, looks_like_rust_object_file};
3131
use rustc_data_structures::memmap::Mmap;
3232
use rustc_errors::DiagCtxtHandle;
33+
use rustc_log::tracing::info;
3334
use rustc_middle::bug;
3435
use rustc_middle::dep_graph::WorkProduct;
3536
use rustc_session::config::Lto;

src/back/write.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use rustc_codegen_ssa::back::link::ensure_removed;
55
use rustc_codegen_ssa::back::write::{BitcodeSection, CodegenContext, EmitObj, ModuleConfig};
66
use rustc_codegen_ssa::{CompiledModule, ModuleCodegen};
77
use rustc_fs_util::link_or_copy;
8+
use rustc_log::tracing::debug;
89
use rustc_session::config::OutputType;
910
use rustc_target::spec::SplitDebuginfo;
1011

src/consts.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use rustc_codegen_ssa::traits::{
88
use rustc_hir::attrs::Linkage;
99
use rustc_hir::def::DefKind;
1010
use rustc_hir::def_id::LOCAL_CRATE;
11+
use rustc_log::tracing::trace;
1112
use rustc_middle::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs};
1213
use rustc_middle::mir::interpret::{
1314
self, ConstAllocation, ErrorHandled, Scalar as InterpScalar, read_target_uint,

src/gcc_util.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#[cfg(feature = "master")]
22
use gccjit::Context;
33
use rustc_codegen_ssa::target_features;
4+
use rustc_data_structures::smallvec::{SmallVec, smallvec};
45
use rustc_session::Session;
5-
use smallvec::{SmallVec, smallvec};
66

77
fn gcc_features_by_flags(sess: &Session, features: &mut Vec<String>) {
88
target_features::retpoline_features_by_flags(sess, features);

src/lib.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,6 @@
2525
#![deny(clippy::pattern_type_mismatch)]
2626
#![allow(clippy::needless_lifetimes, clippy::uninlined_format_args)]
2727

28-
// These crates are pulled from the sysroot because they are part of
29-
// rustc's public API, so we need to ensure version compatibility.
30-
extern crate smallvec;
31-
#[macro_use]
32-
extern crate tracing;
33-
3428
// The rustc crates we need
3529
extern crate rustc_abi;
3630
extern crate rustc_apfloat;
@@ -44,6 +38,7 @@ extern crate rustc_hir;
4438
extern crate rustc_index;
4539
#[cfg(feature = "master")]
4640
extern crate rustc_interface;
41+
extern crate rustc_log;
4742
extern crate rustc_macros;
4843
extern crate rustc_middle;
4944
extern crate rustc_session;

0 commit comments

Comments
 (0)