Skip to content

Commit 3966580

Browse files
committed
Add tests with usize::MIN
1 parent 2493be2 commit 3966580

File tree

3 files changed

+41
-5
lines changed

3 files changed

+41
-5
lines changed

tests/ui/clear_with_drain.fixed

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ fn range() {
99
let mut v = vec![1, 2, 3];
1010
let n = v.drain(0..v.len()).count(); // Yay
1111

12+
let mut v = vec![1, 2, 3];
13+
let n = v.drain(usize::MIN..v.len()).count(); // Yay
14+
15+
let mut v = vec![1, 2, 3];
16+
v.clear(); // Nay
17+
1218
let mut v = vec![1, 2, 3];
1319
v.clear(); // Nay
1420
}
@@ -20,6 +26,12 @@ fn range_from() {
2026
let mut v = vec![1, 2, 3];
2127
let next = v.drain(0..).next(); // Yay
2228

29+
let mut v = vec![1, 2, 3];
30+
let next = v.drain(usize::MIN..).next(); // Yay
31+
32+
let mut v = vec![1, 2, 3];
33+
v.clear(); // Nay
34+
2335
let mut v = vec![1, 2, 3];
2436
v.clear(); // Nay
2537
}

tests/ui/clear_with_drain.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,14 @@ fn range() {
99
let mut v = vec![1, 2, 3];
1010
let n = v.drain(0..v.len()).count(); // Yay
1111

12+
let mut v = vec![1, 2, 3];
13+
let n = v.drain(usize::MIN..v.len()).count(); // Yay
14+
1215
let mut v = vec![1, 2, 3];
1316
v.drain(0..v.len()); // Nay
17+
18+
let mut v = vec![1, 2, 3];
19+
v.drain(usize::MIN..v.len()); // Nay
1420
}
1521

1622
fn range_from() {
@@ -20,8 +26,14 @@ fn range_from() {
2026
let mut v = vec![1, 2, 3];
2127
let next = v.drain(0..).next(); // Yay
2228

29+
let mut v = vec![1, 2, 3];
30+
let next = v.drain(usize::MIN..).next(); // Yay
31+
2332
let mut v = vec![1, 2, 3];
2433
v.drain(0..); // Nay
34+
35+
let mut v = vec![1, 2, 3];
36+
v.drain(usize::MIN..); // Nay
2537
}
2638

2739
fn range_full() {

tests/ui/clear_with_drain.stderr

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,40 @@
11
error: `drain` used to clear a `Vec`
2-
--> $DIR/clear_with_drain.rs:13:7
2+
--> $DIR/clear_with_drain.rs:16: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:24:7
10+
--> $DIR/clear_with_drain.rs:19:7
11+
|
12+
LL | v.drain(usize::MIN..v.len()); // Nay
13+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `clear()`
14+
15+
error: `drain` used to clear a `Vec`
16+
--> $DIR/clear_with_drain.rs:33:7
1117
|
1218
LL | v.drain(0..); // Nay
1319
| ^^^^^^^^^^ help: try: `clear()`
1420

1521
error: `drain` used to clear a `Vec`
16-
--> $DIR/clear_with_drain.rs:38:7
22+
--> $DIR/clear_with_drain.rs:36:7
23+
|
24+
LL | v.drain(usize::MIN..); // Nay
25+
| ^^^^^^^^^^^^^^^^^^^ help: try: `clear()`
26+
27+
error: `drain` used to clear a `Vec`
28+
--> $DIR/clear_with_drain.rs:50:7
1729
|
1830
LL | v.drain(..); // Nay
1931
| ^^^^^^^^^ help: try: `clear()`
2032

2133
error: `drain` used to clear a `Vec`
22-
--> $DIR/clear_with_drain.rs:52:7
34+
--> $DIR/clear_with_drain.rs:64:7
2335
|
2436
LL | v.drain(..v.len()); // Nay
2537
| ^^^^^^^^^^^^^^^^ help: try: `clear()`
2638

27-
error: aborting due to 4 previous errors
39+
error: aborting due to 6 previous errors
2840

0 commit comments

Comments
 (0)