summaryrefslogtreecommitdiffstats
path: root/tests/run-make/coverage/match_or_pattern.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make/coverage/match_or_pattern.rs')
-rw-r--r--tests/run-make/coverage/match_or_pattern.rs45
1 files changed, 0 insertions, 45 deletions
diff --git a/tests/run-make/coverage/match_or_pattern.rs b/tests/run-make/coverage/match_or_pattern.rs
deleted file mode 100644
index 4c6a8a9b7..000000000
--- a/tests/run-make/coverage/match_or_pattern.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-#![feature(or_patterns)]
-
-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) => {}
- _ => {}
- }
-}