Skip to content

Commit df65d21

Browse files
committed
Include tests where the iterator is used later
1 parent 3966580 commit df65d21

File tree

3 files changed

+18
-14
lines changed

3 files changed

+18
-14
lines changed

tests/ui/clear_with_drain.fixed

+6-4
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ fn range() {
1010
let n = v.drain(0..v.len()).count(); // Yay
1111

1212
let mut v = vec![1, 2, 3];
13-
let n = v.drain(usize::MIN..v.len()).count(); // Yay
13+
let iter = v.drain(usize::MIN..v.len()); // Yay
14+
let n = iter.count();
1415

1516
let mut v = vec![1, 2, 3];
1617
v.clear(); // Nay
@@ -24,7 +25,8 @@ fn range_from() {
2425
let iter = v.drain(0..); // Yay
2526

2627
let mut v = vec![1, 2, 3];
27-
let next = v.drain(0..).next(); // Yay
28+
let mut iter = v.drain(0..); // Yay
29+
let next = iter.next();
2830

2931
let mut v = vec![1, 2, 3];
3032
let next = v.drain(usize::MIN..).next(); // Yay
@@ -55,8 +57,8 @@ fn range_to() {
5557
let iter = v.drain(..v.len()); // Yay
5658

5759
let mut v = vec![1, 2, 3];
58-
// Yay
59-
for x in v.drain(..v.len()) {
60+
let iter = v.drain(..v.len()); // Yay
61+
for x in iter {
6062
let y = format!("x = {x}");
6163
}
6264

tests/ui/clear_with_drain.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ fn range() {
1010
let n = v.drain(0..v.len()).count(); // Yay
1111

1212
let mut v = vec![1, 2, 3];
13-
let n = v.drain(usize::MIN..v.len()).count(); // Yay
13+
let iter = v.drain(usize::MIN..v.len()); // Yay
14+
let n = iter.count();
1415

1516
let mut v = vec![1, 2, 3];
1617
v.drain(0..v.len()); // Nay
@@ -24,7 +25,8 @@ fn range_from() {
2425
let iter = v.drain(0..); // Yay
2526

2627
let mut v = vec![1, 2, 3];
27-
let next = v.drain(0..).next(); // Yay
28+
let mut iter = v.drain(0..); // Yay
29+
let next = iter.next();
2830

2931
let mut v = vec![1, 2, 3];
3032
let next = v.drain(usize::MIN..).next(); // Yay
@@ -55,8 +57,8 @@ fn range_to() {
5557
let iter = v.drain(..v.len()); // Yay
5658

5759
let mut v = vec![1, 2, 3];
58-
// Yay
59-
for x in v.drain(..v.len()) {
60+
let iter = v.drain(..v.len()); // Yay
61+
for x in iter {
6062
let y = format!("x = {x}");
6163
}
6264

tests/ui/clear_with_drain.stderr

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,37 @@
11
error: `drain` used to clear a `Vec`
2-
--> $DIR/clear_with_drain.rs:16:7
2+
--> $DIR/clear_with_drain.rs:17:7
33
|
44
LL | v.drain(0..v.len()); // Nay
55
| ^^^^^^^^^^^^^^^^^ help: try: `clear()`
66
|
77
= note: `-D clippy::clear-with-drain` implied by `-D warnings`
88

99
error: `drain` used to clear a `Vec`
10-
--> $DIR/clear_with_drain.rs:19:7
10+
--> $DIR/clear_with_drain.rs:20:7
1111
|
1212
LL | v.drain(usize::MIN..v.len()); // Nay
1313
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `clear()`
1414

1515
error: `drain` used to clear a `Vec`
16-
--> $DIR/clear_with_drain.rs:33:7
16+
--> $DIR/clear_with_drain.rs:35:7
1717
|
1818
LL | v.drain(0..); // Nay
1919
| ^^^^^^^^^^ help: try: `clear()`
2020

2121
error: `drain` used to clear a `Vec`
22-
--> $DIR/clear_with_drain.rs:36:7
22+
--> $DIR/clear_with_drain.rs:38:7
2323
|
2424
LL | v.drain(usize::MIN..); // Nay
2525
| ^^^^^^^^^^^^^^^^^^^ help: try: `clear()`
2626

2727
error: `drain` used to clear a `Vec`
28-
--> $DIR/clear_with_drain.rs:50:7
28+
--> $DIR/clear_with_drain.rs:52:7
2929
|
3030
LL | v.drain(..); // Nay
3131
| ^^^^^^^^^ help: try: `clear()`
3232

3333
error: `drain` used to clear a `Vec`
34-
--> $DIR/clear_with_drain.rs:64:7
34+
--> $DIR/clear_with_drain.rs:66:7
3535
|
3636
LL | v.drain(..v.len()); // Nay
3737
| ^^^^^^^^^^^^^^^^ help: try: `clear()`

0 commit comments

Comments
 (0)