rust/tests/coverage-map/status-quo/conditions.rs
Zalathar 3141177995 Copy most of tests/run-coverage into tests/coverage-map/status-quo
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.
2023-09-05 11:55:34 +10:00

87 lines
1.7 KiB
Rust

#![allow(unused_assignments, unused_variables)]
fn main() {
let mut countdown = 0;
if true {
countdown = 10;
}
const B: u32 = 100;
let x = if countdown > 7 {
countdown -= 4;
B
} else if countdown > 2 {
if countdown < 1 || countdown > 5 || countdown != 9 {
countdown = 0;
}
countdown -= 5;
countdown
} else {
return;
};
let mut countdown = 0;
if true {
countdown = 10;
}
if countdown > 7 {
countdown -= 4;
} else if countdown > 2 {
if countdown < 1 || countdown > 5 || countdown != 9 {
countdown = 0;
}
countdown -= 5;
} else {
return;
}
if true {
let mut countdown = 0;
if true {
countdown = 10;
}
if countdown > 7 {
countdown -= 4;
}
else if countdown > 2 {
if countdown < 1 || countdown > 5 || countdown != 9 {
countdown = 0;
}
countdown -= 5;
} else {
return;
}
}
let mut countdown = 0;
if true {
countdown = 1;
}
let z = if countdown > 7 {
countdown -= 4;
} else if countdown > 2 {
if countdown < 1 || countdown > 5 || countdown != 9 {
countdown = 0;
}
countdown -= 5;
} else {
let should_be_reachable = countdown;
println!("reached");
return;
};
let w = if countdown > 7 {
countdown -= 4;
} else if countdown > 2 {
if countdown < 1 || countdown > 5 || countdown != 9 {
countdown = 0;
}
countdown -= 5;
} else {
return;
};
}