From a7bea73292cd9353feb19532f9c6d1afcb2a99d4 Mon Sep 17 00:00:00 2001 From: Wesley Wiser Date: Tue, 23 Oct 2018 21:13:03 -0400 Subject: [PATCH] Don't print opt fuel messages to stdout because it breaks Rustbuild Rustbuild passes `--message-format json` to the compiler invocations which causes JSON to be emitted on stdout. Printing optimization fuel messages to stdout breaks the json and causes Rustbuild to fail. Work around this by emitting optimization fuel related messages on stderr instead. --- src/librustc/session/mod.rs | 2 +- src/librustc_driver/lib.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs index a17825a877d8..fe94b62ef19e 100644 --- a/src/librustc/session/mod.rs +++ b/src/librustc/session/mod.rs @@ -868,7 +868,7 @@ impl Session { let fuel = self.optimization_fuel_limit.get(); ret = fuel != 0; if fuel == 0 && !self.out_of_fuel.get() { - println!("optimization-fuel-exhausted: {}", msg()); + eprintln!("optimization-fuel-exhausted: {}", msg()); self.out_of_fuel.set(true); } else if fuel > 0 { self.optimization_fuel_limit.set(fuel - 1); diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs index 276b7290c2ef..8a7d4a017431 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -944,7 +944,7 @@ impl<'a> CompilerCalls<'a> for RustcDefaultCalls { control.compilation_done.callback = box move |state| { old_callback(state); let sess = state.session; - println!("Fuel used by {}: {}", + eprintln!("Fuel used by {}: {}", sess.print_fuel_crate.as_ref().unwrap(), sess.print_fuel.get()); }