diff --git a/compiler/rustc_driver/src/lib.rs b/compiler/rustc_driver/src/lib.rs index 7eeae66d709e9..3601169528b9d 100644 --- a/compiler/rustc_driver/src/lib.rs +++ b/compiler/rustc_driver/src/lib.rs @@ -226,7 +226,6 @@ fn run_compiler( output_dir: odir, file_loader, diagnostic_output, - stderr: None, lint_caps: Default::default(), parse_sess_created: None, register_lints: None, diff --git a/compiler/rustc_interface/src/interface.rs b/compiler/rustc_interface/src/interface.rs index 8bd24487b7843..9a588b55393e5 100644 --- a/compiler/rustc_interface/src/interface.rs +++ b/compiler/rustc_interface/src/interface.rs @@ -21,7 +21,6 @@ use rustc_session::{DiagnosticOutput, Session}; use rustc_span::source_map::{FileLoader, FileName}; use std::path::PathBuf; use std::result; -use std::sync::{Arc, Mutex}; pub type Result = result::Result; @@ -155,9 +154,6 @@ pub struct Config { pub file_loader: Option>, pub diagnostic_output: DiagnosticOutput, - /// Set to capture stderr output during compiler execution - pub stderr: Option>>>, - pub lint_caps: FxHashMap, /// This is a callback from the driver that is called when [`ParseSess`] is created. @@ -237,13 +233,11 @@ pub fn create_compiler_and_run(config: Config, f: impl FnOnce(&Compiler) -> R }) } -pub fn run_compiler(mut config: Config, f: impl FnOnce(&Compiler) -> R + Send) -> R { +pub fn run_compiler(config: Config, f: impl FnOnce(&Compiler) -> R + Send) -> R { tracing::trace!("run_compiler"); - let stderr = config.stderr.take(); util::run_in_thread_pool_with_globals( config.opts.edition, config.opts.debugging_opts.threads, - &stderr, || create_compiler_and_run(config, f), ) } diff --git a/compiler/rustc_interface/src/util.rs b/compiler/rustc_interface/src/util.rs index d206f2644e02a..700710c82c9e0 100644 --- a/compiler/rustc_interface/src/util.rs +++ b/compiler/rustc_interface/src/util.rs @@ -27,7 +27,6 @@ use rustc_span::symbol::{sym, Symbol}; use smallvec::SmallVec; use std::env; use std::env::consts::{DLL_PREFIX, DLL_SUFFIX}; -use std::io; use std::lazy::SyncOnceCell; use std::mem; use std::ops::DerefMut; @@ -35,7 +34,6 @@ use std::ops::DerefMut; use std::panic; use std::path::{Path, PathBuf}; use std::sync::atomic::{AtomicBool, Ordering}; -use std::sync::{Arc, Mutex}; use std::thread; use tracing::info; @@ -131,7 +129,6 @@ fn scoped_thread R + Send, R: Send>(cfg: thread::Builder, f: F) - pub fn run_in_thread_pool_with_globals R + Send, R: Send>( edition: Edition, _threads: usize, - stderr: &Option>>>, f: F, ) -> R { let mut cfg = thread::Builder::new().name("rustc".to_string()); @@ -140,12 +137,7 @@ pub fn run_in_thread_pool_with_globals R + Send, R: Send>( cfg = cfg.stack_size(size); } - let main_handler = move || { - rustc_span::create_session_globals_then(edition, || { - io::set_output_capture(stderr.clone()); - f() - }) - }; + let main_handler = move || rustc_span::create_session_globals_then(edition, f); scoped_thread(cfg, main_handler) } @@ -177,7 +169,6 @@ unsafe fn handle_deadlock() { pub fn run_in_thread_pool_with_globals R + Send, R: Send>( edition: Edition, threads: usize, - stderr: &Option>>>, f: F, ) -> R { let mut config = rayon::ThreadPoolBuilder::new() @@ -199,10 +190,7 @@ pub fn run_in_thread_pool_with_globals R + Send, R: Send>( // the thread local rustc uses. `session_globals` is captured and set // on the new threads. let main_handler = move |thread: rayon::ThreadBuilder| { - rustc_span::set_session_globals_then(session_globals, || { - io::set_output_capture(stderr.clone()); - thread.run() - }) + rustc_span::set_session_globals_then(session_globals, || thread.run()) }; config.build_scoped(main_handler, with_pool).unwrap() @@ -339,6 +327,7 @@ fn sysroot_candidates() -> Vec { #[cfg(windows)] fn current_dll_path() -> Option { use std::ffi::OsString; + use std::io; use std::os::windows::prelude::*; use std::ptr; diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs index 1f14a333c005d..893e126283b01 100644 --- a/src/librustdoc/core.rs +++ b/src/librustdoc/core.rs @@ -256,7 +256,6 @@ crate fn create_config( output_dir: None, file_loader: None, diagnostic_output: DiagnosticOutput::Default, - stderr: None, lint_caps, parse_sess_created: None, register_lints: Some(box crate::lint::register_lints), diff --git a/src/librustdoc/doctest.rs b/src/librustdoc/doctest.rs index 6c55721c0dd94..3a9fb6d14203e 100644 --- a/src/librustdoc/doctest.rs +++ b/src/librustdoc/doctest.rs @@ -97,7 +97,6 @@ crate fn run(options: RustdocOptions) -> Result<(), ErrorReported> { output_dir: None, file_loader: None, diagnostic_output: DiagnosticOutput::Default, - stderr: None, lint_caps, parse_sess_created: None, register_lints: Some(box crate::lint::register_lints), diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index c320516504017..170f166db500e 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -691,7 +691,6 @@ fn main_args(at_args: &[String]) -> MainResult { rustc_interface::util::run_in_thread_pool_with_globals( options.edition, 1, // this runs single-threaded, even in a parallel compiler - &None, move || main_options(options), ) } diff --git a/src/test/run-make-fulldeps/issue-19371/foo.rs b/src/test/run-make-fulldeps/issue-19371/foo.rs index 4acabbb70ede2..9172d08eff936 100644 --- a/src/test/run-make-fulldeps/issue-19371/foo.rs +++ b/src/test/run-make-fulldeps/issue-19371/foo.rs @@ -55,7 +55,6 @@ fn compile(code: String, output: PathBuf, sysroot: PathBuf) { output_dir: None, file_loader: None, diagnostic_output: DiagnosticOutput::Default, - stderr: None, lint_caps: Default::default(), parse_sess_created: None, register_lints: None,