Rollup merge of #72067 - jonas-schievink:fuel-warn, r=varkor

Emit a warning when optimization fuel runs out

`eprintln!` gets swallowed by Cargo too easily.
This commit is contained in:
Dylan DPC 2020-05-11 22:21:01 +02:00 committed by GitHub
commit d9c3110ae8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 7 deletions

View File

@ -808,7 +808,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;

View File

@ -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);

View File

@ -1 +1,4 @@
optimization-fuel-exhausted: Reorder fields of "S1"
warning: optimization-fuel-exhausted: Reorder fields of "S1"
warning: 1 warning emitted

View File

@ -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);

View File

@ -1 +1,4 @@
optimization-fuel-exhausted: Reorder fields of "S2"
warning: optimization-fuel-exhausted: Reorder fields of "S2"
warning: 1 warning emitted