mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
3141177995
The output of these tests is too complicated to comfortably verify by hand, but we can still use them to observe changes to the underlying mappings produced by codegen/LLVM. If these tests fail due to non-coverage changes (e.g. in HIR-to-MIR lowering or MIR optimizations), it should usually be OK to just `--bless` them, as long as the `run-coverage` test suite still works.
44 lines
854 B
Rust
44 lines
854 B
Rust
#![allow(unused_assignments, unused_variables)]
|
|
|
|
fn main() {
|
|
// Initialize test constants in a way that cannot be determined at compile time, to ensure
|
|
// rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
|
|
// dependent conditions.
|
|
let is_true = std::env::args().len() == 1;
|
|
|
|
let mut countdown = 1;
|
|
if is_true {
|
|
countdown = 0;
|
|
}
|
|
|
|
for
|
|
_
|
|
in
|
|
0..2
|
|
{
|
|
let z
|
|
;
|
|
match
|
|
countdown
|
|
{
|
|
x
|
|
if
|
|
x
|
|
<
|
|
1
|
|
=>
|
|
{
|
|
z = countdown
|
|
;
|
|
let y = countdown
|
|
;
|
|
countdown = 10
|
|
;
|
|
}
|
|
_
|
|
=>
|
|
{}
|
|
}
|
|
}
|
|
}
|