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 a17825a877d..fe94b62ef19 100644 --- a/src/librustc/session/mod.rs +++ b/src/librustc/session/mod.rs @@ -868,7 +868,7 @@ pub fn consider_optimizing String>(&self, crate_name: &str, msg: T) - 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 276b7290c2e..8a7d4a01743 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -944,7 +944,7 @@ fn build_controller(self: Box, 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()); } -- 2.44.0