about summary refs log tree commit diff
path: root/tests/ui/or-patterns
diff options
context:
space:
mode:
authorNadrieril <nadrieril+git@gmail.com>2024-01-18 14:59:48 +0100
committerNadrieril <nadrieril+git@gmail.com>2024-01-18 17:29:54 +0100
commit0a9bb9722907cbbd75a643fad1af3278517805fc (patch)
tree5c590cd86f88113c66fe62d6a350645cd7075fd3 /tests/ui/or-patterns
parent753680afe833ada2ffe4723519d127dc2d256e78 (diff)
downloadrust-0a9bb9722907cbbd75a643fad1af3278517805fc.tar.gz
rust-0a9bb9722907cbbd75a643fad1af3278517805fc.zip
Consistently warn unreachable subpatterns
Diffstat (limited to 'tests/ui/or-patterns')
-rw-r--r--tests/ui/or-patterns/exhaustiveness-unreachable-pattern.rs2
-rw-r--r--tests/ui/or-patterns/exhaustiveness-unreachable-pattern.stderr20
2 files changed, 18 insertions, 4 deletions
diff --git a/tests/ui/or-patterns/exhaustiveness-unreachable-pattern.rs b/tests/ui/or-patterns/exhaustiveness-unreachable-pattern.rs
index 324ba54e0e7..1ad335bf394 100644
--- a/tests/ui/or-patterns/exhaustiveness-unreachable-pattern.rs
+++ b/tests/ui/or-patterns/exhaustiveness-unreachable-pattern.rs
@@ -162,12 +162,14 @@ fn main() {
 }
 
 fn unreachable_in_param((_ | (_, _)): (bool, bool)) {}
+//~^ ERROR unreachable
 
 fn unreachable_in_binding() {
     let bool_pair = (true, true);
     let bool_option = Some(true);
 
     let (_ | (_, _)) = bool_pair;
+    //~^ ERROR unreachable
     for (_ | (_, _)) in [bool_pair] {}
     //~^ ERROR unreachable
 
diff --git a/tests/ui/or-patterns/exhaustiveness-unreachable-pattern.stderr b/tests/ui/or-patterns/exhaustiveness-unreachable-pattern.stderr
index d47645a4689..336530d1b32 100644
--- a/tests/ui/or-patterns/exhaustiveness-unreachable-pattern.stderr
+++ b/tests/ui/or-patterns/exhaustiveness-unreachable-pattern.stderr
@@ -185,28 +185,40 @@ LL |             | (y, x) => {}
    |               ^^^^^^
 
 error: unreachable pattern
+  --> $DIR/exhaustiveness-unreachable-pattern.rs:164:30
+   |
+LL | fn unreachable_in_param((_ | (_, _)): (bool, bool)) {}
+   |                              ^^^^^^
+
+error: unreachable pattern
   --> $DIR/exhaustiveness-unreachable-pattern.rs:171:14
    |
+LL |     let (_ | (_, _)) = bool_pair;
+   |              ^^^^^^
+
+error: unreachable pattern
+  --> $DIR/exhaustiveness-unreachable-pattern.rs:173:14
+   |
 LL |     for (_ | (_, _)) in [bool_pair] {}
    |              ^^^^^^
 
 error: unreachable pattern
-  --> $DIR/exhaustiveness-unreachable-pattern.rs:174:20
+  --> $DIR/exhaustiveness-unreachable-pattern.rs:176:20
    |
 LL |     let (Some(_) | Some(true)) = bool_option else { return };
    |                    ^^^^^^^^^^
 
 error: unreachable pattern
-  --> $DIR/exhaustiveness-unreachable-pattern.rs:176:22
+  --> $DIR/exhaustiveness-unreachable-pattern.rs:178:22
    |
 LL |     if let Some(_) | Some(true) = bool_option {}
    |                      ^^^^^^^^^^
 
 error: unreachable pattern
-  --> $DIR/exhaustiveness-unreachable-pattern.rs:178:25
+  --> $DIR/exhaustiveness-unreachable-pattern.rs:180:25
    |
 LL |     while let Some(_) | Some(true) = bool_option {}
    |                         ^^^^^^^^^^
 
-error: aborting due to 33 previous errors
+error: aborting due to 35 previous errors