about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/ui/unnested_or_patterns.fixed8
-rw-r--r--tests/ui/unnested_or_patterns.rs8
-rw-r--r--tests/ui/unnested_or_patterns.stderr90
-rw-r--r--tests/ui/unnested_or_patterns2.fixed18
-rw-r--r--tests/ui/unnested_or_patterns2.rs18
-rw-r--r--tests/ui/unnested_or_patterns2.stderr91
6 files changed, 128 insertions, 105 deletions
diff --git a/tests/ui/unnested_or_patterns.fixed b/tests/ui/unnested_or_patterns.fixed
index e1bd5cd5562..b39e891094f 100644
--- a/tests/ui/unnested_or_patterns.fixed
+++ b/tests/ui/unnested_or_patterns.fixed
@@ -30,12 +30,4 @@ fn main() {
     }
     if let S { x: 0 | 1, y } = (S { x: 0, y: 1 }) {}
     if let S { x: 0, y, .. } | S { y, x: 1 } = (S { x: 0, y: 1 }) {}
-    if let Some(Some(0 | 1)) = None {}
-    if let Some(Some(0 | 1 | 2)) = None {}
-    if let Some(Some(0 | 1 | 2 | 3 | 4)) = None {}
-    if let Some(Some(0 | 1 | 2)) = None {}
-    if let ((0 | 1 | 2,),) = ((0,),) {}
-    if let 0 | 1 | 2 = 0 {}
-    if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {}
-    if let box box (0 | 2 | 4) = Box::new(Box::new(0)) {}
 }
diff --git a/tests/ui/unnested_or_patterns.rs b/tests/ui/unnested_or_patterns.rs
index d5c3c1fb74a..096f5a71150 100644
--- a/tests/ui/unnested_or_patterns.rs
+++ b/tests/ui/unnested_or_patterns.rs
@@ -30,12 +30,4 @@ fn main() {
     }
     if let S { x: 0, y } | S { y, x: 1 } = (S { x: 0, y: 1 }) {}
     if let S { x: 0, y, .. } | S { y, x: 1 } = (S { x: 0, y: 1 }) {}
-    if let Some(Some(0)) | Some(Some(1)) = None {}
-    if let Some(Some(0)) | Some(Some(1) | Some(2)) = None {}
-    if let Some(Some(0 | 1) | Some(2)) | Some(Some(3) | Some(4)) = None {}
-    if let Some(Some(0) | Some(1 | 2)) = None {}
-    if let ((0,),) | ((1,) | (2,),) = ((0,),) {}
-    if let 0 | (1 | 2) = 0 {}
-    if let box (0 | 1) | (box 2 | box (3 | 4)) = Box::new(0) {}
-    if let box box 0 | box (box 2 | box 4) = Box::new(Box::new(0)) {}
 }
diff --git a/tests/ui/unnested_or_patterns.stderr b/tests/ui/unnested_or_patterns.stderr
index d1efe274c99..1899dc657df 100644
--- a/tests/ui/unnested_or_patterns.stderr
+++ b/tests/ui/unnested_or_patterns.stderr
@@ -175,93 +175,5 @@ help: nest the patterns
 LL |     if let S { x: 0 | 1, y } = (S { x: 0, y: 1 }) {}
    |            ^^^^^^^^^^^^^^^^^
 
-error: unnested or-patterns
-  --> $DIR/unnested_or_patterns.rs:33:12
-   |
-LL |     if let Some(Some(0)) | Some(Some(1)) = None {}
-   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-help: nest the patterns
-   |
-LL |     if let Some(Some(0 | 1)) = None {}
-   |            ^^^^^^^^^^^^^^^^^
-
-error: unnested or-patterns
-  --> $DIR/unnested_or_patterns.rs:34:12
-   |
-LL |     if let Some(Some(0)) | Some(Some(1) | Some(2)) = None {}
-   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-help: nest the patterns
-   |
-LL |     if let Some(Some(0 | 1 | 2)) = None {}
-   |            ^^^^^^^^^^^^^^^^^^^^^
-
-error: unnested or-patterns
-  --> $DIR/unnested_or_patterns.rs:35:12
-   |
-LL |     if let Some(Some(0 | 1) | Some(2)) | Some(Some(3) | Some(4)) = None {}
-   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-help: nest the patterns
-   |
-LL |     if let Some(Some(0 | 1 | 2 | 3 | 4)) = None {}
-   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: unnested or-patterns
-  --> $DIR/unnested_or_patterns.rs:36:12
-   |
-LL |     if let Some(Some(0) | Some(1 | 2)) = None {}
-   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-help: nest the patterns
-   |
-LL |     if let Some(Some(0 | 1 | 2)) = None {}
-   |            ^^^^^^^^^^^^^^^^^^^^^
-
-error: unnested or-patterns
-  --> $DIR/unnested_or_patterns.rs:37:12
-   |
-LL |     if let ((0,),) | ((1,) | (2,),) = ((0,),) {}
-   |            ^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-help: nest the patterns
-   |
-LL |     if let ((0 | 1 | 2,),) = ((0,),) {}
-   |            ^^^^^^^^^^^^^^^
-
-error: unnested or-patterns
-  --> $DIR/unnested_or_patterns.rs:38:12
-   |
-LL |     if let 0 | (1 | 2) = 0 {}
-   |            ^^^^^^^^^^^
-   |
-help: nest the patterns
-   |
-LL |     if let 0 | 1 | 2 = 0 {}
-   |            ^^^^^^^^^
-
-error: unnested or-patterns
-  --> $DIR/unnested_or_patterns.rs:39:12
-   |
-LL |     if let box (0 | 1) | (box 2 | box (3 | 4)) = Box::new(0) {}
-   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-help: nest the patterns
-   |
-LL |     if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {}
-   |            ^^^^^^^^^^^^^^^^^^^^^^^
-
-error: unnested or-patterns
-  --> $DIR/unnested_or_patterns.rs:40:12
-   |
-LL |     if let box box 0 | box (box 2 | box 4) = Box::new(Box::new(0)) {}
-   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-help: nest the patterns
-   |
-LL |     if let box box (0 | 2 | 4) = Box::new(Box::new(0)) {}
-   |            ^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 24 previous errors
+error: aborting due to 16 previous errors
 
diff --git a/tests/ui/unnested_or_patterns2.fixed b/tests/ui/unnested_or_patterns2.fixed
new file mode 100644
index 00000000000..02a129c55a3
--- /dev/null
+++ b/tests/ui/unnested_or_patterns2.fixed
@@ -0,0 +1,18 @@
+// run-rustfix
+
+#![feature(or_patterns)]
+#![feature(box_patterns)]
+#![warn(clippy::unnested_or_patterns)]
+#![allow(clippy::cognitive_complexity, clippy::match_ref_pats)]
+#![allow(unreachable_patterns, irrefutable_let_patterns, unused_variables)]
+
+fn main() {
+    if let Some(Some(0 | 1)) = None {}
+    if let Some(Some(0 | 1 | 2)) = None {}
+    if let Some(Some(0 | 1 | 2 | 3 | 4)) = None {}
+    if let Some(Some(0 | 1 | 2)) = None {}
+    if let ((0 | 1 | 2,),) = ((0,),) {}
+    if let 0 | 1 | 2 = 0 {}
+    if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {}
+    if let box box (0 | 2 | 4) = Box::new(Box::new(0)) {}
+}
diff --git a/tests/ui/unnested_or_patterns2.rs b/tests/ui/unnested_or_patterns2.rs
new file mode 100644
index 00000000000..acf3158989d
--- /dev/null
+++ b/tests/ui/unnested_or_patterns2.rs
@@ -0,0 +1,18 @@
+// run-rustfix
+
+#![feature(or_patterns)]
+#![feature(box_patterns)]
+#![warn(clippy::unnested_or_patterns)]
+#![allow(clippy::cognitive_complexity, clippy::match_ref_pats)]
+#![allow(unreachable_patterns, irrefutable_let_patterns, unused_variables)]
+
+fn main() {
+    if let Some(Some(0)) | Some(Some(1)) = None {}
+    if let Some(Some(0)) | Some(Some(1) | Some(2)) = None {}
+    if let Some(Some(0 | 1) | Some(2)) | Some(Some(3) | Some(4)) = None {}
+    if let Some(Some(0) | Some(1 | 2)) = None {}
+    if let ((0,),) | ((1,) | (2,),) = ((0,),) {}
+    if let 0 | (1 | 2) = 0 {}
+    if let box (0 | 1) | (box 2 | box (3 | 4)) = Box::new(0) {}
+    if let box box 0 | box (box 2 | box 4) = Box::new(Box::new(0)) {}
+}
diff --git a/tests/ui/unnested_or_patterns2.stderr b/tests/ui/unnested_or_patterns2.stderr
new file mode 100644
index 00000000000..1847fd8e098
--- /dev/null
+++ b/tests/ui/unnested_or_patterns2.stderr
@@ -0,0 +1,91 @@
+error: unnested or-patterns
+  --> $DIR/unnested_or_patterns2.rs:10:12
+   |
+LL |     if let Some(Some(0)) | Some(Some(1)) = None {}
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `-D clippy::unnested-or-patterns` implied by `-D warnings`
+help: nest the patterns
+   |
+LL |     if let Some(Some(0 | 1)) = None {}
+   |            ^^^^^^^^^^^^^^^^^
+
+error: unnested or-patterns
+  --> $DIR/unnested_or_patterns2.rs:11:12
+   |
+LL |     if let Some(Some(0)) | Some(Some(1) | Some(2)) = None {}
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+help: nest the patterns
+   |
+LL |     if let Some(Some(0 | 1 | 2)) = None {}
+   |            ^^^^^^^^^^^^^^^^^^^^^
+
+error: unnested or-patterns
+  --> $DIR/unnested_or_patterns2.rs:12:12
+   |
+LL |     if let Some(Some(0 | 1) | Some(2)) | Some(Some(3) | Some(4)) = None {}
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+help: nest the patterns
+   |
+LL |     if let Some(Some(0 | 1 | 2 | 3 | 4)) = None {}
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: unnested or-patterns
+  --> $DIR/unnested_or_patterns2.rs:13:12
+   |
+LL |     if let Some(Some(0) | Some(1 | 2)) = None {}
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+help: nest the patterns
+   |
+LL |     if let Some(Some(0 | 1 | 2)) = None {}
+   |            ^^^^^^^^^^^^^^^^^^^^^
+
+error: unnested or-patterns
+  --> $DIR/unnested_or_patterns2.rs:14:12
+   |
+LL |     if let ((0,),) | ((1,) | (2,),) = ((0,),) {}
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+help: nest the patterns
+   |
+LL |     if let ((0 | 1 | 2,),) = ((0,),) {}
+   |            ^^^^^^^^^^^^^^^
+
+error: unnested or-patterns
+  --> $DIR/unnested_or_patterns2.rs:15:12
+   |
+LL |     if let 0 | (1 | 2) = 0 {}
+   |            ^^^^^^^^^^^
+   |
+help: nest the patterns
+   |
+LL |     if let 0 | 1 | 2 = 0 {}
+   |            ^^^^^^^^^
+
+error: unnested or-patterns
+  --> $DIR/unnested_or_patterns2.rs:16:12
+   |
+LL |     if let box (0 | 1) | (box 2 | box (3 | 4)) = Box::new(0) {}
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+help: nest the patterns
+   |
+LL |     if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {}
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+
+error: unnested or-patterns
+  --> $DIR/unnested_or_patterns2.rs:17:12
+   |
+LL |     if let box box 0 | box (box 2 | box 4) = Box::new(Box::new(0)) {}
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+help: nest the patterns
+   |
+LL |     if let box box (0 | 2 | 4) = Box::new(Box::new(0)) {}
+   |            ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 8 previous errors
+