about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorEvan Typanski <evan.typanski@microfocus.com>2022-05-24 11:50:12 -0400
committerEvan Typanski <evan.typanski@microfocus.com>2022-05-24 11:50:12 -0400
commit78f7e3745fe59db1e6309b1e42ea25df3317ee36 (patch)
tree5ce53d4900c03d360c5d1a6b1f1fe67acc9fee42 /tests
parent050cdd6689254db96b47ff86732e286839a67584 (diff)
downloadrust-78f7e3745fe59db1e6309b1e42ea25df3317ee36.tar.gz
rust-78f7e3745fe59db1e6309b1e42ea25df3317ee36.zip
Fix `manual_range_contains` with equal precedence
Diffstat (limited to 'tests')
-rw-r--r--tests/ui/range_contains.fixed5
-rw-r--r--tests/ui/range_contains.rs5
-rw-r--r--tests/ui/range_contains.stderr26
3 files changed, 35 insertions, 1 deletions
diff --git a/tests/ui/range_contains.fixed b/tests/ui/range_contains.fixed
index f4977199711..fd4dcf39f2f 100644
--- a/tests/ui/range_contains.fixed
+++ b/tests/ui/range_contains.fixed
@@ -49,6 +49,11 @@ fn main() {
     x >= 10 && x <= -10;
     (-3. ..=3.).contains(&y);
     y >= 3. && y <= -3.;
+
+    // Fix #8745
+    let z = 42;
+    (0..=10).contains(&x) && (0..=10).contains(&z);
+    !(0..10).contains(&x) || !(0..10).contains(&z);
 }
 
 // Fix #6373
diff --git a/tests/ui/range_contains.rs b/tests/ui/range_contains.rs
index 9e2180b0c99..b848e2e1671 100644
--- a/tests/ui/range_contains.rs
+++ b/tests/ui/range_contains.rs
@@ -49,6 +49,11 @@ fn main() {
     x >= 10 && x <= -10;
     y >= -3. && y <= 3.;
     y >= 3. && y <= -3.;
+
+    // Fix #8745
+    let z = 42;
+    (x >= 0) && (x <= 10) && (z >= 0) && (z <= 10);
+    (x < 0) || (x >= 10) || (z < 0) || (z >= 10);
 }
 
 // Fix #6373
diff --git a/tests/ui/range_contains.stderr b/tests/ui/range_contains.stderr
index 1817ee1715d..936859db5a1 100644
--- a/tests/ui/range_contains.stderr
+++ b/tests/ui/range_contains.stderr
@@ -96,5 +96,29 @@ error: manual `RangeInclusive::contains` implementation
 LL |     y >= -3. && y <= 3.;
    |     ^^^^^^^^^^^^^^^^^^^ help: use: `(-3. ..=3.).contains(&y)`
 
-error: aborting due to 16 previous errors
+error: manual `RangeInclusive::contains` implementation
+  --> $DIR/range_contains.rs:55:30
+   |
+LL |     (x >= 0) && (x <= 10) && (z >= 0) && (z <= 10);
+   |                              ^^^^^^^^^^^^^^^^^^^^^ help: use: `(0..=10).contains(&z)`
+
+error: manual `RangeInclusive::contains` implementation
+  --> $DIR/range_contains.rs:55:5
+   |
+LL |     (x >= 0) && (x <= 10) && (z >= 0) && (z <= 10);
+   |     ^^^^^^^^^^^^^^^^^^^^^ help: use: `(0..=10).contains(&x)`
+
+error: manual `!Range::contains` implementation
+  --> $DIR/range_contains.rs:56:29
+   |
+LL |     (x < 0) || (x >= 10) || (z < 0) || (z >= 10);
+   |                             ^^^^^^^^^^^^^^^^^^^^ help: use: `!(0..10).contains(&z)`
+
+error: manual `!Range::contains` implementation
+  --> $DIR/range_contains.rs:56:5
+   |
+LL |     (x < 0) || (x >= 10) || (z < 0) || (z >= 10);
+   |     ^^^^^^^^^^^^^^^^^^^^ help: use: `!(0..10).contains(&x)`
+
+error: aborting due to 20 previous errors