Include tests where the iterator is used later

This commit is contained in:
bluthej 2023-03-27 11:11:40 +02:00
parent 3966580c9d
commit df65d21f4c
3 changed files with 18 additions and 14 deletions

View File

@ -10,7 +10,8 @@ fn range() {
let n = v.drain(0..v.len()).count(); // Yay
let mut v = vec![1, 2, 3];
let n = v.drain(usize::MIN..v.len()).count(); // Yay
let iter = v.drain(usize::MIN..v.len()); // Yay
let n = iter.count();
let mut v = vec![1, 2, 3];
v.clear(); // Nay
@ -24,7 +25,8 @@ fn range_from() {
let iter = v.drain(0..); // Yay
let mut v = vec![1, 2, 3];
let next = v.drain(0..).next(); // Yay
let mut iter = v.drain(0..); // Yay
let next = iter.next();
let mut v = vec![1, 2, 3];
let next = v.drain(usize::MIN..).next(); // Yay
@ -55,8 +57,8 @@ fn range_to() {
let iter = v.drain(..v.len()); // Yay
let mut v = vec![1, 2, 3];
// Yay
for x in v.drain(..v.len()) {
let iter = v.drain(..v.len()); // Yay
for x in iter {
let y = format!("x = {x}");
}

View File

@ -10,7 +10,8 @@ fn range() {
let n = v.drain(0..v.len()).count(); // Yay
let mut v = vec![1, 2, 3];
let n = v.drain(usize::MIN..v.len()).count(); // Yay
let iter = v.drain(usize::MIN..v.len()); // Yay
let n = iter.count();
let mut v = vec![1, 2, 3];
v.drain(0..v.len()); // Nay
@ -24,7 +25,8 @@ fn range_from() {
let iter = v.drain(0..); // Yay
let mut v = vec![1, 2, 3];
let next = v.drain(0..).next(); // Yay
let mut iter = v.drain(0..); // Yay
let next = iter.next();
let mut v = vec![1, 2, 3];
let next = v.drain(usize::MIN..).next(); // Yay
@ -55,8 +57,8 @@ fn range_to() {
let iter = v.drain(..v.len()); // Yay
let mut v = vec![1, 2, 3];
// Yay
for x in v.drain(..v.len()) {
let iter = v.drain(..v.len()); // Yay
for x in iter {
let y = format!("x = {x}");
}

View File

@ -1,5 +1,5 @@
error: `drain` used to clear a `Vec`
--> $DIR/clear_with_drain.rs:16:7
--> $DIR/clear_with_drain.rs:17:7
|
LL | v.drain(0..v.len()); // Nay
| ^^^^^^^^^^^^^^^^^ help: try: `clear()`
@ -7,31 +7,31 @@ LL | v.drain(0..v.len()); // Nay
= note: `-D clippy::clear-with-drain` implied by `-D warnings`
error: `drain` used to clear a `Vec`
--> $DIR/clear_with_drain.rs:19:7
--> $DIR/clear_with_drain.rs:20:7
|
LL | v.drain(usize::MIN..v.len()); // Nay
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `clear()`
error: `drain` used to clear a `Vec`
--> $DIR/clear_with_drain.rs:33:7
--> $DIR/clear_with_drain.rs:35:7
|
LL | v.drain(0..); // Nay
| ^^^^^^^^^^ help: try: `clear()`
error: `drain` used to clear a `Vec`
--> $DIR/clear_with_drain.rs:36:7
--> $DIR/clear_with_drain.rs:38:7
|
LL | v.drain(usize::MIN..); // Nay
| ^^^^^^^^^^^^^^^^^^^ help: try: `clear()`
error: `drain` used to clear a `Vec`
--> $DIR/clear_with_drain.rs:50:7
--> $DIR/clear_with_drain.rs:52:7
|
LL | v.drain(..); // Nay
| ^^^^^^^^^ help: try: `clear()`
error: `drain` used to clear a `Vec`
--> $DIR/clear_with_drain.rs:64:7
--> $DIR/clear_with_drain.rs:66:7
|
LL | v.drain(..v.len()); // Nay
| ^^^^^^^^^^^^^^^^ help: try: `clear()`