coverage: Migrate tests/run-coverage
into tests/coverage
This commit is contained in:
parent
aea7c27eae
commit
e9d04c5e24
105 changed files with 7 additions and 9 deletions
43
tests/coverage/match_or_pattern.rs
Normal file
43
tests/coverage/match_or_pattern.rs
Normal file
|
@ -0,0 +1,43 @@
|
|||
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: u8 = 0;
|
||||
let mut b: u8 = 0;
|
||||
if is_true {
|
||||
a = 2;
|
||||
b = 0;
|
||||
}
|
||||
match (a, b) {
|
||||
// Or patterns generate MIR `SwitchInt` with multiple targets to the same `BasicBlock`.
|
||||
// This test confirms a fix for Issue #79569.
|
||||
(0 | 1, 2 | 3) => {}
|
||||
_ => {}
|
||||
}
|
||||
if is_true {
|
||||
a = 0;
|
||||
b = 0;
|
||||
}
|
||||
match (a, b) {
|
||||
(0 | 1, 2 | 3) => {}
|
||||
_ => {}
|
||||
}
|
||||
if is_true {
|
||||
a = 2;
|
||||
b = 2;
|
||||
}
|
||||
match (a, b) {
|
||||
(0 | 1, 2 | 3) => {}
|
||||
_ => {}
|
||||
}
|
||||
if is_true {
|
||||
a = 0;
|
||||
b = 2;
|
||||
}
|
||||
match (a, b) {
|
||||
(0 | 1, 2 | 3) => {}
|
||||
_ => {}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue