rust/tests/coverage/lazy_boolean.rs

62 lines
975 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 a, mut b, mut c) = (0, 0, 0);
if is_true {
a = 1;
b = 10;
c = 100;
}
let
somebool
=
a < b
||
b < c
;
let
somebool
=
b < a
||
b < c
;
let somebool = a < b && b < c;
let somebool = b < a && b < c;
if
!
is_true
{
a = 2
;
}
if
is_true
{
b = 30
;
}
else
{
c = 400
;
}
if !is_true {
a = 2;
}
if is_true {
b = 30;
} else {
c = 400;
}
}