41 lines
706 B
Rust
41 lines
706 B
Rust
|
#![allow(unused_assignments)]
|
||
|
|
||
|
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 = 0;
|
||
|
if
|
||
|
is_true
|
||
|
{
|
||
|
countdown
|
||
|
=
|
||
|
10
|
||
|
;
|
||
|
}
|
||
|
else // Note coverage region difference without semicolon
|
||
|
{
|
||
|
countdown
|
||
|
=
|
||
|
100
|
||
|
}
|
||
|
|
||
|
if
|
||
|
is_true
|
||
|
{
|
||
|
countdown
|
||
|
=
|
||
|
10
|
||
|
;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
countdown
|
||
|
=
|
||
|
100
|
||
|
;
|
||
|
}
|
||
|
}
|