rust/tests/ui/clear_with_drain.fixed

85 lines
1.7 KiB
Rust
Raw Normal View History

2023-03-21 16:46:59 -05:00
// run-rustfix
#![allow(unused)]
#![warn(clippy::clear_with_drain)]
fn range() {
2023-03-23 16:29:30 -05:00
let mut v = vec![1, 2, 3];
let iter = v.drain(0..v.len()); // Yay
let mut v = vec![1, 2, 3];
let n = v.drain(0..v.len()).count(); // Yay
2023-03-26 11:59:20 -05:00
let mut v = vec![1, 2, 3];
let n = v.drain(usize::MIN..v.len()).count(); // Yay
let mut v = vec![1, 2, 3];
v.clear(); // Nay
2023-03-23 16:29:30 -05:00
let mut v = vec![1, 2, 3];
2023-03-21 16:46:59 -05:00
v.clear(); // Nay
}
fn range_from() {
2023-03-23 16:29:30 -05:00
let mut v = vec![1, 2, 3];
let iter = v.drain(0..); // Yay
let mut v = vec![1, 2, 3];
let next = v.drain(0..).next(); // Yay
let mut v = vec![1, 2, 3];
2023-03-26 11:59:20 -05:00
let next = v.drain(usize::MIN..).next(); // Yay
let mut v = vec![1, 2, 3];
v.clear(); // Nay
let mut v = vec![1, 2, 3];
2023-03-21 16:46:59 -05:00
v.clear(); // Nay
}
fn range_full() {
2023-03-23 16:29:30 -05:00
let mut v = vec![1, 2, 3];
let iter = v.drain(..); // Yay
let mut v = vec![1, 2, 3];
// Yay
for x in v.drain(..) {
let y = format!("x = {x}");
}
let mut v = vec![1, 2, 3];
2023-03-21 16:46:59 -05:00
v.clear(); // Nay
}
fn range_to() {
2023-03-23 16:29:30 -05:00
let mut v = vec![1, 2, 3];
let iter = v.drain(..v.len()); // Yay
let mut v = vec![1, 2, 3];
// Yay
for x in v.drain(..v.len()) {
let y = format!("x = {x}");
}
let mut v = vec![1, 2, 3];
2023-03-21 16:46:59 -05:00
v.clear(); // Nay
}
fn partial_drains() {
let mut v = vec![1, 2, 3];
v.drain(1..); // Yay
2023-03-23 16:29:30 -05:00
let mut v = vec![1, 2, 3];
v.drain(1..).max(); // Yay
2023-03-21 16:46:59 -05:00
let mut v = vec![1, 2, 3];
v.drain(..v.len() - 1); // Yay
2023-03-23 16:29:30 -05:00
let mut v = vec![1, 2, 3];
v.drain(..v.len() - 1).min(); // Yay
2023-03-21 16:46:59 -05:00
let mut v = vec![1, 2, 3];
v.drain(1..v.len() - 1); // Yay
2023-03-23 16:29:30 -05:00
let mut v = vec![1, 2, 3];
let w: Vec<i8> = v.drain(1..v.len() - 1).collect(); // Yay
2023-03-21 16:46:59 -05:00
}
fn main() {}