From ac2b84f9628c46c9c7e6c4870054f372962079ed Mon Sep 17 00:00:00 2001 From: Luca Barbieri Date: Fri, 10 Apr 2020 22:42:19 +0200 Subject: [PATCH] Depend on getopts from crates.io rustc_session exports it for other crates to avoid mismatching crate versions. --- Cargo.lock | 1 + src/librustc_driver/lib.rs | 2 +- src/librustc_interface/tests.rs | 3 +-- src/librustc_session/Cargo.toml | 1 + src/librustc_session/lib.rs | 8 ++------ src/librustdoc/config.rs | 1 + src/librustdoc/lib.rs | 2 +- 7 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e8a7413ff35..73d276d1776 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4201,6 +4201,7 @@ dependencies = [ name = "rustc_session" version = "0.0.0" dependencies = [ + "getopts", "log", "num_cpus", "rustc_ast", diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs index ad2d7b12d4a..0e3199975f9 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -8,7 +8,6 @@ #![feature(nll)] #![recursion_limit = "256"] -pub extern crate getopts; #[macro_use] extern crate log; #[macro_use] @@ -35,6 +34,7 @@ use rustc_save_analysis::DumpHandler; use rustc_serialize::json::{self, ToJson}; use rustc_session::config::nightly_options; use rustc_session::config::{ErrorOutputType, Input, OutputType, PrintRequest}; +use rustc_session::getopts; use rustc_session::lint::{Lint, LintId}; use rustc_session::{config, DiagnosticOutput, Session}; use rustc_session::{early_error, early_warn}; diff --git a/src/librustc_interface/tests.rs b/src/librustc_interface/tests.rs index b452ccfe33a..c75f3b279a2 100644 --- a/src/librustc_interface/tests.rs +++ b/src/librustc_interface/tests.rs @@ -1,5 +1,3 @@ -extern crate getopts; - use crate::interface::parse_cfgspecs; use rustc_data_structures::fx::FxHashSet; @@ -9,6 +7,7 @@ use rustc_session::config::{build_configuration, build_session_options, to_crate use rustc_session::config::{rustc_optgroups, ErrorOutputType, ExternLocation, Options, Passes}; use rustc_session::config::{ExternEntry, LinkerPluginLto, LtoCli, SwitchWithOptPath}; use rustc_session::config::{Externs, OutputType, OutputTypes, SymbolManglingVersion}; +use rustc_session::getopts; use rustc_session::lint::Level; use rustc_session::search_paths::SearchPath; use rustc_session::{build_session, Session}; diff --git a/src/librustc_session/Cargo.toml b/src/librustc_session/Cargo.toml index 3895d0f8061..814073bb4f7 100644 --- a/src/librustc_session/Cargo.toml +++ b/src/librustc_session/Cargo.toml @@ -9,6 +9,7 @@ name = "rustc_session" path = "lib.rs" [dependencies] +getopts = "0.2" log = "0.4" rustc_errors = { path = "../librustc_errors" } rustc_feature = { path = "../librustc_feature" } diff --git a/src/librustc_session/lib.rs b/src/librustc_session/lib.rs index cc4d525d628..2ff92c46d12 100644 --- a/src/librustc_session/lib.rs +++ b/src/librustc_session/lib.rs @@ -1,10 +1,4 @@ #![feature(crate_visibility_modifier)] -#![feature(test)] - -// Use the test crate here so we depend on getopts through it. This allow tools to link to both -// librustc_session and libtest. -extern crate getopts; -extern crate test as _; pub mod cgu_reuse_tracker; pub mod utils; @@ -23,3 +17,5 @@ mod session; pub use session::*; pub mod output; + +pub use getopts; diff --git a/src/librustdoc/config.rs b/src/librustdoc/config.rs index 179c5bfacf3..a5a1e20396c 100644 --- a/src/librustdoc/config.rs +++ b/src/librustdoc/config.rs @@ -10,6 +10,7 @@ use rustc_session::config::{ nightly_options, }; use rustc_session::config::{CodegenOptions, DebuggingOptions, ErrorOutputType, Externs}; +use rustc_session::getopts; use rustc_session::lint::Level; use rustc_session::search_paths::SearchPath; use rustc_span::edition::{Edition, DEFAULT_EDITION}; diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index 99860a103d7..b0d5a8e58e1 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -15,7 +15,6 @@ #![recursion_limit = "256"] extern crate env_logger; -extern crate getopts; extern crate rustc_ast; extern crate rustc_ast_pretty; extern crate rustc_attr; @@ -51,6 +50,7 @@ use std::panic; use std::process; use rustc_session::config::{make_crate_type_option, ErrorOutputType, RustcOptGroup}; +use rustc_session::getopts; use rustc_session::{early_error, early_warn}; #[macro_use]