Skip to content

Commit d42f6cc

Browse files
committed
Use .is_multiple_of() in Clippy tests sources
This prevents triggering the new `manual_is_multiple_of` lint on unrelated lint tests.
1 parent 98e87cf commit d42f6cc

17 files changed

+133
-122
lines changed

tests/ui/box_default.fixed

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#![warn(clippy::box_default)]
22
#![allow(clippy::boxed_local, clippy::default_constructed_unit_structs)]
3+
#![feature(unsigned_is_multiple_of)]
34

45
#[derive(Default)]
56
struct ImplementsDefault;
@@ -126,7 +127,7 @@ fn issue_10381() {
126127
impl Bar for Foo {}
127128

128129
fn maybe_get_bar(i: u32) -> Option<Box<dyn Bar>> {
129-
if i % 2 == 0 {
130+
if i.is_multiple_of(2) {
130131
Some(Box::new(Foo::default()))
131132
} else {
132133
None

tests/ui/box_default.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#![warn(clippy::box_default)]
22
#![allow(clippy::boxed_local, clippy::default_constructed_unit_structs)]
3+
#![feature(unsigned_is_multiple_of)]
34

45
#[derive(Default)]
56
struct ImplementsDefault;
@@ -126,7 +127,7 @@ fn issue_10381() {
126127
impl Bar for Foo {}
127128

128129
fn maybe_get_bar(i: u32) -> Option<Box<dyn Bar>> {
129-
if i % 2 == 0 {
130+
if i.is_multiple_of(2) {
130131
Some(Box::new(Foo::default()))
131132
} else {
132133
None

tests/ui/box_default.stderr

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
error: `Box::new(_)` of default value
2-
--> tests/ui/box_default.rs:34:32
2+
--> tests/ui/box_default.rs:35:32
33
|
44
LL | let string1: Box<String> = Box::new(Default::default());
55
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::default()`
@@ -8,55 +8,55 @@ LL | let string1: Box<String> = Box::new(Default::default());
88
= help: to override `-D warnings` add `#[allow(clippy::box_default)]`
99

1010
error: `Box::new(_)` of default value
11-
--> tests/ui/box_default.rs:36:32
11+
--> tests/ui/box_default.rs:37:32
1212
|
1313
LL | let string2: Box<String> = Box::new(String::new());
1414
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::default()`
1515

1616
error: `Box::new(_)` of default value
17-
--> tests/ui/box_default.rs:38:41
17+
--> tests/ui/box_default.rs:39:41
1818
|
1919
LL | let impl1: Box<ImplementsDefault> = Box::new(Default::default());
2020
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::default()`
2121

2222
error: `Box::new(_)` of default value
23-
--> tests/ui/box_default.rs:40:29
23+
--> tests/ui/box_default.rs:41:29
2424
|
2525
LL | let vec: Box<Vec<u8>> = Box::new(Vec::new());
2626
| ^^^^^^^^^^^^^^^^^^^^ help: try: `Box::default()`
2727

2828
error: `Box::new(_)` of default value
29-
--> tests/ui/box_default.rs:42:25
29+
--> tests/ui/box_default.rs:43:25
3030
|
3131
LL | let byte: Box<u8> = Box::new(u8::default());
3232
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::default()`
3333

3434
error: `Box::new(_)` of default value
35-
--> tests/ui/box_default.rs:44:45
35+
--> tests/ui/box_default.rs:45:45
3636
|
3737
LL | let vec2: Box<Vec<ImplementsDefault>> = Box::new(vec![]);
3838
| ^^^^^^^^^^^^^^^^ help: try: `Box::default()`
3939

4040
error: `Box::new(_)` of default value
41-
--> tests/ui/box_default.rs:46:32
41+
--> tests/ui/box_default.rs:47:32
4242
|
4343
LL | let vec3: Box<Vec<bool>> = Box::new(Vec::from([]));
4444
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::default()`
4545

4646
error: `Box::new(_)` of default value
47-
--> tests/ui/box_default.rs:49:25
47+
--> tests/ui/box_default.rs:50:25
4848
|
4949
LL | let plain_default = Box::new(Default::default());
5050
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::default()`
5151

5252
error: `Box::new(_)` of default value
53-
--> tests/ui/box_default.rs:67:16
53+
--> tests/ui/box_default.rs:68:16
5454
|
5555
LL | call_ty_fn(Box::new(u8::default()));
5656
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::default()`
5757

5858
error: `Box::new(_)` of default value
59-
--> tests/ui/box_default.rs:95:17
59+
--> tests/ui/box_default.rs:96:17
6060
|
6161
LL | Self::x(Box::new(T::default()));
6262
| ^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::default()`

tests/ui/infinite_iter.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#![allow(clippy::uninlined_format_args, clippy::double_ended_iterator_last)]
2+
#![feature(unsigned_is_multiple_of)]
23

34
use std::iter::repeat;
45
fn square_is_lower_64(x: &u32) -> bool {
@@ -38,7 +39,7 @@ fn infinite_iters() {
3839
//~^ infinite_iter
3940

4041
// infinite iter
41-
(0_u64..).filter(|x| x % 2 == 0).last();
42+
(0_u64..).filter(|x| x.is_multiple_of(2)).last();
4243
//~^ infinite_iter
4344

4445
// not an infinite, because ranges are double-ended

tests/ui/infinite_iter.stderr

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
error: infinite iteration detected
2-
--> tests/ui/infinite_iter.rs:11:5
2+
--> tests/ui/infinite_iter.rs:12:5
33
|
44
LL | repeat(0_u8).collect::<Vec<_>>();
55
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
66
|
77
note: the lint level is defined here
8-
--> tests/ui/infinite_iter.rs:9:8
8+
--> tests/ui/infinite_iter.rs:10:8
99
|
1010
LL | #[deny(clippy::infinite_iter)]
1111
| ^^^^^^^^^^^^^^^^^^^^^
1212

1313
error: infinite iteration detected
14-
--> tests/ui/infinite_iter.rs:15:5
14+
--> tests/ui/infinite_iter.rs:16:5
1515
|
1616
LL | (0..8_u32).take_while(square_is_lower_64).cycle().count();
1717
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1818

1919
error: infinite iteration detected
20-
--> tests/ui/infinite_iter.rs:19:5
20+
--> tests/ui/infinite_iter.rs:20:5
2121
|
2222
LL | (0..8_u64).chain(0..).max();
2323
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2424

2525
error: infinite iteration detected
26-
--> tests/ui/infinite_iter.rs:28:5
26+
--> tests/ui/infinite_iter.rs:29:5
2727
|
2828
LL | / (0..8_u32)
2929
LL | |
@@ -34,37 +34,37 @@ LL | | .for_each(|x| println!("{}", x));
3434
| |________________________________________^
3535

3636
error: infinite iteration detected
37-
--> tests/ui/infinite_iter.rs:37:5
37+
--> tests/ui/infinite_iter.rs:38:5
3838
|
3939
LL | (0_usize..).flat_map(|x| 0..x).product::<usize>();
4040
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4141

4242
error: infinite iteration detected
43-
--> tests/ui/infinite_iter.rs:41:5
43+
--> tests/ui/infinite_iter.rs:42:5
4444
|
45-
LL | (0_u64..).filter(|x| x % 2 == 0).last();
46-
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
45+
LL | (0_u64..).filter(|x| x.is_multiple_of(2)).last();
46+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4747

4848
error: possible infinite iteration detected
49-
--> tests/ui/infinite_iter.rs:53:5
49+
--> tests/ui/infinite_iter.rs:54:5
5050
|
5151
LL | (0..).zip((0..).take_while(square_is_lower_64)).count();
5252
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5353
|
5454
note: the lint level is defined here
55-
--> tests/ui/infinite_iter.rs:50:8
55+
--> tests/ui/infinite_iter.rs:51:8
5656
|
5757
LL | #[deny(clippy::maybe_infinite_iter)]
5858
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
5959

6060
error: possible infinite iteration detected
61-
--> tests/ui/infinite_iter.rs:57:5
61+
--> tests/ui/infinite_iter.rs:58:5
6262
|
6363
LL | repeat(42).take_while(|x| *x == 42).chain(0..42).max();
6464
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6565

6666
error: possible infinite iteration detected
67-
--> tests/ui/infinite_iter.rs:61:5
67+
--> tests/ui/infinite_iter.rs:62:5
6868
|
6969
LL | / (1..)
7070
LL | |
@@ -76,31 +76,31 @@ LL | | .min();
7676
| |______________^
7777

7878
error: possible infinite iteration detected
79-
--> tests/ui/infinite_iter.rs:69:5
79+
--> tests/ui/infinite_iter.rs:70:5
8080
|
8181
LL | (0..).find(|x| *x == 24);
8282
| ^^^^^^^^^^^^^^^^^^^^^^^^
8383

8484
error: possible infinite iteration detected
85-
--> tests/ui/infinite_iter.rs:73:5
85+
--> tests/ui/infinite_iter.rs:74:5
8686
|
8787
LL | (0..).position(|x| x == 24);
8888
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
8989

9090
error: possible infinite iteration detected
91-
--> tests/ui/infinite_iter.rs:77:5
91+
--> tests/ui/infinite_iter.rs:78:5
9292
|
9393
LL | (0..).any(|x| x == 24);
9494
| ^^^^^^^^^^^^^^^^^^^^^^
9595

9696
error: possible infinite iteration detected
97-
--> tests/ui/infinite_iter.rs:81:5
97+
--> tests/ui/infinite_iter.rs:82:5
9898
|
9999
LL | (0..).all(|x| x == 24);
100100
| ^^^^^^^^^^^^^^^^^^^^^^
101101

102102
error: infinite iteration detected
103-
--> tests/ui/infinite_iter.rs:107:31
103+
--> tests/ui/infinite_iter.rs:108:31
104104
|
105105
LL | let _: HashSet<i32> = (0..).collect();
106106
| ^^^^^^^^^^^^^^^

tests/ui/iter_kv_map.fixed

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#![warn(clippy::iter_kv_map)]
22
#![allow(unused_mut, clippy::redundant_clone, clippy::suspicious_map, clippy::map_identity)]
3+
#![feature(unsigned_is_multiple_of)]
34

45
use std::collections::{BTreeMap, HashMap};
56

@@ -30,15 +31,15 @@ fn main() {
3031

3132
let _ = map.clone().values().collect::<Vec<_>>();
3233
//~^ iter_kv_map
33-
let _ = map.keys().filter(|x| *x % 2 == 0).count();
34+
let _ = map.keys().filter(|x| x.is_multiple_of(2)).count();
3435
//~^ iter_kv_map
3536

3637
// Don't lint
37-
let _ = map.iter().filter(|(_, val)| *val % 2 == 0).map(|(key, _)| key).count();
38+
let _ = map.iter().filter(|(_, val)| val.is_multiple_of(2)).map(|(key, _)| key).count();
3839
let _ = map.iter().map(get_key).collect::<Vec<_>>();
3940

4041
// Linting the following could be an improvement to the lint
41-
// map.iter().filter_map(|(_, val)| (val % 2 == 0).then(val * 17)).count();
42+
// map.iter().filter_map(|(_, val)| (val.is_multiple_of(2)).then(val * 17)).count();
4243

4344
// Lint
4445
let _ = map.keys().map(|key| key * 9).count();
@@ -84,15 +85,15 @@ fn main() {
8485

8586
let _ = map.clone().values().collect::<Vec<_>>();
8687
//~^ iter_kv_map
87-
let _ = map.keys().filter(|x| *x % 2 == 0).count();
88+
let _ = map.keys().filter(|x| x.is_multiple_of(2)).count();
8889
//~^ iter_kv_map
8990

9091
// Don't lint
91-
let _ = map.iter().filter(|(_, val)| *val % 2 == 0).map(|(key, _)| key).count();
92+
let _ = map.iter().filter(|(_, val)| val.is_multiple_of(2)).map(|(key, _)| key).count();
9293
let _ = map.iter().map(get_key).collect::<Vec<_>>();
9394

9495
// Linting the following could be an improvement to the lint
95-
// map.iter().filter_map(|(_, val)| (val % 2 == 0).then(val * 17)).count();
96+
// map.iter().filter_map(|(_, val)| (val.is_multiple_of(2)).then(val * 17)).count();
9697

9798
// Lint
9899
let _ = map.keys().map(|key| key * 9).count();

tests/ui/iter_kv_map.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#![warn(clippy::iter_kv_map)]
22
#![allow(unused_mut, clippy::redundant_clone, clippy::suspicious_map, clippy::map_identity)]
3+
#![feature(unsigned_is_multiple_of)]
34

45
use std::collections::{BTreeMap, HashMap};
56

@@ -30,15 +31,15 @@ fn main() {
3031

3132
let _ = map.clone().iter().map(|(_, val)| val).collect::<Vec<_>>();
3233
//~^ iter_kv_map
33-
let _ = map.iter().map(|(key, _)| key).filter(|x| *x % 2 == 0).count();
34+
let _ = map.iter().map(|(key, _)| key).filter(|x| x.is_multiple_of(2)).count();
3435
//~^ iter_kv_map
3536

3637
// Don't lint
37-
let _ = map.iter().filter(|(_, val)| *val % 2 == 0).map(|(key, _)| key).count();
38+
let _ = map.iter().filter(|(_, val)| val.is_multiple_of(2)).map(|(key, _)| key).count();
3839
let _ = map.iter().map(get_key).collect::<Vec<_>>();
3940

4041
// Linting the following could be an improvement to the lint
41-
// map.iter().filter_map(|(_, val)| (val % 2 == 0).then(val * 17)).count();
42+
// map.iter().filter_map(|(_, val)| (val.is_multiple_of(2)).then(val * 17)).count();
4243

4344
// Lint
4445
let _ = map.iter().map(|(key, _value)| key * 9).count();
@@ -86,15 +87,15 @@ fn main() {
8687

8788
let _ = map.clone().iter().map(|(_, val)| val).collect::<Vec<_>>();
8889
//~^ iter_kv_map
89-
let _ = map.iter().map(|(key, _)| key).filter(|x| *x % 2 == 0).count();
90+
let _ = map.iter().map(|(key, _)| key).filter(|x| x.is_multiple_of(2)).count();
9091
//~^ iter_kv_map
9192

9293
// Don't lint
93-
let _ = map.iter().filter(|(_, val)| *val % 2 == 0).map(|(key, _)| key).count();
94+
let _ = map.iter().filter(|(_, val)| val.is_multiple_of(2)).map(|(key, _)| key).count();
9495
let _ = map.iter().map(get_key).collect::<Vec<_>>();
9596

9697
// Linting the following could be an improvement to the lint
97-
// map.iter().filter_map(|(_, val)| (val % 2 == 0).then(val * 17)).count();
98+
// map.iter().filter_map(|(_, val)| (val.is_multiple_of(2)).then(val * 17)).count();
9899

99100
// Lint
100101
let _ = map.iter().map(|(key, _value)| key * 9).count();

0 commit comments

Comments
 (0)