about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/ui/match_overlapping_arm.rs18
-rw-r--r--tests/ui/match_overlapping_arm.stderr26
2 files changed, 43 insertions, 1 deletions
diff --git a/tests/ui/match_overlapping_arm.rs b/tests/ui/match_overlapping_arm.rs
index 3e40f2187bf..44c51e8112a 100644
--- a/tests/ui/match_overlapping_arm.rs
+++ b/tests/ui/match_overlapping_arm.rs
@@ -69,6 +69,24 @@ fn overlapping() {
         _ => (),
     }
 
+    match 42 {
+        0..14 => println!("0 .. 14"),
+        5..10 => println!("5 .. 10"),
+        _ => (),
+    }
+
+    match 42 {
+        5..14 => println!("5 .. 14"),
+        0..=10 => println!("0 ... 10"),
+        _ => (),
+    }
+
+    match 42 {
+        0..7 => println!("0 .. 7"),
+        0..=10 => println!("0 ... 10"),
+        _ => (),
+    }
+
     /*
     // FIXME(JohnTitor): uncomment this once rustfmt knows half-open patterns
     match 42 {
diff --git a/tests/ui/match_overlapping_arm.stderr b/tests/ui/match_overlapping_arm.stderr
index 74259cd88c7..f25a66d634e 100644
--- a/tests/ui/match_overlapping_arm.stderr
+++ b/tests/ui/match_overlapping_arm.stderr
@@ -35,5 +35,29 @@ note: overlaps with this
 LL |         0..=11 => println!("0 ... 11"),
    |         ^^^^^^
 
-error: aborting due to 3 previous errors
+error: some ranges overlap
+  --> $DIR/match_overlapping_arm.rs:80:9
+   |
+LL |         0..=10 => println!("0 ... 10"),
+   |         ^^^^^^
+   |
+note: overlaps with this
+  --> $DIR/match_overlapping_arm.rs:79:9
+   |
+LL |         5..14 => println!("5 .. 14"),
+   |         ^^^^^
+
+error: some ranges overlap
+  --> $DIR/match_overlapping_arm.rs:85:9
+   |
+LL |         0..7 => println!("0 .. 7"),
+   |         ^^^^
+   |
+note: overlaps with this
+  --> $DIR/match_overlapping_arm.rs:86:9
+   |
+LL |         0..=10 => println!("0 ... 10"),
+   |         ^^^^^^
+
+error: aborting due to 5 previous errors