]> git.proxmox.com Git - rustc.git/blobdiff - src/test/ui/or-patterns/exhaustiveness-unreachable-pattern.rs
New upstream version 1.50.0+dfsg1
[rustc.git] / src / test / ui / or-patterns / exhaustiveness-unreachable-pattern.rs
index 512f1e283cb462a0cff4ace899421714bd4c4d4d..184ffa85c40e28b56beade40e73710bc7d598d5d 100644 (file)
@@ -64,6 +64,35 @@ fn main() {
             | 2, ..] => {}
         _ => {}
     }
+    match &[][..] {
+        [true] => {}
+        [true | false, ..] => {}
+        _ => {}
+    }
+    match &[][..] {
+        [false] => {}
+        [true, ..] => {}
+        [true //~ ERROR unreachable
+            | false, ..] => {}
+        _ => {}
+    }
+    match (true, None) {
+        (true, Some(_)) => {}
+        (false, Some(true)) => {}
+        (true | false, None | Some(true //~ ERROR unreachable
+                                   | false)) => {}
+    }
+    macro_rules! t_or_f {
+        () => {
+            (true // FIXME: should be unreachable
+                        | false)
+        };
+    }
+    match (true, None) {
+        (true, Some(_)) => {}
+        (false, Some(true)) => {}
+        (true | false, None | Some(t_or_f!())) => {}
+    }
     match Some(0) {
         Some(0) => {}
         Some(0 //~ ERROR unreachable