diff options
| author | Evan Typanski <evan.typanski@microfocus.com> | 2022-05-24 11:50:12 -0400 |
|---|---|---|
| committer | Evan Typanski <evan.typanski@microfocus.com> | 2022-05-24 11:50:12 -0400 |
| commit | 78f7e3745fe59db1e6309b1e42ea25df3317ee36 (patch) | |
| tree | 5ce53d4900c03d360c5d1a6b1f1fe67acc9fee42 /tests | |
| parent | 050cdd6689254db96b47ff86732e286839a67584 (diff) | |
| download | rust-78f7e3745fe59db1e6309b1e42ea25df3317ee36.tar.gz rust-78f7e3745fe59db1e6309b1e42ea25df3317ee36.zip | |
Fix `manual_range_contains` with equal precedence
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/range_contains.fixed | 5 | ||||
| -rw-r--r-- | tests/ui/range_contains.rs | 5 | ||||
| -rw-r--r-- | tests/ui/range_contains.stderr | 26 |
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 |
