Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 589d7e1

Browse files
committed
Add tests to cover all cases
1 parent 85d4281 commit 589d7e1

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

tests/ui/clear_with_drain.rs

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
11
#![allow(unused)]
22
#![warn(clippy::clear_with_drain)]
33

4-
fn main() {
5-
let mut vec: Vec<i32> = Vec::new();
6-
//Lint
7-
vec.drain(..);
8-
vec.drain(0..vec.len());
4+
fn range() {
5+
let (mut u, mut v) = (vec![1, 2, 3], vec![1, 2, 3]);
6+
let iter = u.drain(0..u.len()); // Yay
7+
v.drain(0..v.len()); // Nay
8+
}
9+
10+
fn range_from() {
11+
let (mut u, mut v) = (vec![1, 2, 3], vec![1, 2, 3]);
12+
let iter = u.drain(0..); // Yay
13+
v.drain(0..); // Nay
14+
}
915

10-
// Dont Lint
11-
let iter = vec.drain(..);
16+
fn range_full() {
17+
let (mut u, mut v) = (vec![1, 2, 3], vec![1, 2, 3]);
18+
let iter = u.drain(..); // Yay
19+
v.drain(..); // Nay
1220
}
21+
22+
fn range_to() {
23+
let (mut u, mut v) = (vec![1, 2, 3], vec![1, 2, 3]);
24+
let iter = u.drain(..u.len()); // Yay
25+
v.drain(..v.len()); // Nay
26+
}
27+
28+
fn main() {}

0 commit comments

Comments
 (0)