about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonas Schievink <jonasschievink@gmail.com>2020-05-10 00:33:08 +0200
committerJonas Schievink <jonasschievink@gmail.com>2020-05-10 15:40:17 +0200
commit62116c31cd863c8aab35e5c7acfb8ded41ca28a1 (patch)
tree7b3274faa3a3d901aef3fb7673b50ee13612a262
parentbad3bf622bded50a97c0a54e29350eada2a3a169 (diff)
downloadrust-62116c31cd863c8aab35e5c7acfb8ded41ca28a1.tar.gz
rust-62116c31cd863c8aab35e5c7acfb8ded41ca28a1.zip
Emit a warning when optimization fuel runs out
`eprintln!` gets swallowed by Cargo too easily.
-rw-r--r--src/librustc_session/session.rs2
-rw-r--r--src/test/ui/optimization-fuel-0.rs3
-rw-r--r--src/test/ui/optimization-fuel-0.stderr5
-rw-r--r--src/test/ui/optimization-fuel-1.rs3
-rw-r--r--src/test/ui/optimization-fuel-1.stderr5
5 files changed, 11 insertions, 7 deletions
diff --git a/src/librustc_session/session.rs b/src/librustc_session/session.rs
index 48e36fdb3d4..15bd87d5ffd 100644
--- a/src/librustc_session/session.rs
+++ b/src/librustc_session/session.rs
@@ -813,7 +813,7 @@ impl Session {
                 let mut fuel = self.optimization_fuel.lock();
                 ret = fuel.remaining != 0;
                 if fuel.remaining == 0 && !fuel.out_of_fuel {
-                    eprintln!("optimization-fuel-exhausted: {}", msg());
+                    self.warn(&format!("optimization-fuel-exhausted: {}", msg()));
                     fuel.out_of_fuel = true;
                 } else if fuel.remaining > 0 {
                     fuel.remaining -= 1;
diff --git a/src/test/ui/optimization-fuel-0.rs b/src/test/ui/optimization-fuel-0.rs
index f86972b7348..a97c5750f94 100644
--- a/src/test/ui/optimization-fuel-0.rs
+++ b/src/test/ui/optimization-fuel-0.rs
@@ -4,8 +4,7 @@
 
 use std::mem::size_of;
 
-// (#55495: The --error-format is to sidestep an issue in our test harness)
-// compile-flags: --error-format human -Z fuel=foo=0
+// compile-flags: -Z fuel=foo=0
 
 struct S1(u8, u16, u8);
 struct S2(u8, u16, u8);
diff --git a/src/test/ui/optimization-fuel-0.stderr b/src/test/ui/optimization-fuel-0.stderr
index 3ad405b2b50..f0e2ebfc37a 100644
--- a/src/test/ui/optimization-fuel-0.stderr
+++ b/src/test/ui/optimization-fuel-0.stderr
@@ -1 +1,4 @@
-optimization-fuel-exhausted: Reorder fields of "S1"
+warning: optimization-fuel-exhausted: Reorder fields of "S1"
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/optimization-fuel-1.rs b/src/test/ui/optimization-fuel-1.rs
index 98283066361..a09f91c68ab 100644
--- a/src/test/ui/optimization-fuel-1.rs
+++ b/src/test/ui/optimization-fuel-1.rs
@@ -4,8 +4,7 @@
 
 use std::mem::size_of;
 
-// (#55495: The --error-format is to sidestep an issue in our test harness)
-// compile-flags: --error-format human -Z fuel=foo=1
+// compile-flags: -Z fuel=foo=1
 
 struct S1(u8, u16, u8);
 struct S2(u8, u16, u8);
diff --git a/src/test/ui/optimization-fuel-1.stderr b/src/test/ui/optimization-fuel-1.stderr
index 197e45219c3..53eafb05830 100644
--- a/src/test/ui/optimization-fuel-1.stderr
+++ b/src/test/ui/optimization-fuel-1.stderr
@@ -1 +1,4 @@
-optimization-fuel-exhausted: Reorder fields of "S2"
+warning: optimization-fuel-exhausted: Reorder fields of "S2"
+
+warning: 1 warning emitted
+