summaryrefslogtreecommitdiffstats
path: root/tests/ui/or-patterns/exhaustiveness-pass.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/or-patterns/exhaustiveness-pass.rs')
-rw-r--r--tests/ui/or-patterns/exhaustiveness-pass.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/ui/or-patterns/exhaustiveness-pass.rs b/tests/ui/or-patterns/exhaustiveness-pass.rs
index 428b9a19f..a52e08c50 100644
--- a/tests/ui/or-patterns/exhaustiveness-pass.rs
+++ b/tests/ui/or-patterns/exhaustiveness-pass.rs
@@ -35,6 +35,17 @@ fn main() {
((0, 0) | (1, 0),) => {}
_ => {}
}
+ match ((0, 0),) {
+ // Note how the second one would be redundant without the guard.
+ ((x, y) | (y, x),) if x == 0 => {}
+ _ => {}
+ }
+ match 0 {
+ // We don't warn the second one as redundant in general because of cases like the one above.
+ // We could technically do it if there are no bindings.
+ 0 | 0 if 0 == 0 => {}
+ _ => {}
+ }
// This one caused ICE https://github.com/rust-lang/rust/issues/117378
match (0u8, 0) {