rust/tests/ui/needless_collect.fixed
2020-08-02 21:34:17 -07:00

33 lines
972 B
Rust

// run-rustfix
#![allow(unused, clippy::suspicious_map)]
use std::collections::{BTreeSet, HashMap, HashSet};
#[warn(clippy::needless_collect)]
#[allow(unused_variables, clippy::iter_cloned_collect)]
fn main() {
let sample = [1; 5];
let len = sample.iter().count();
if sample.get(0).is_none() {
// Empty
}
sample.iter().cloned().any(|x| x == 1);
sample.iter().map(|x| (x, x)).count();
// Notice the `HashSet`--this should not be linted
sample.iter().collect::<HashSet<_>>().len();
// Neither should this
sample.iter().collect::<BTreeSet<_>>().len();
let indirect_positive = sample.iter().collect::<Vec<_>>();
indirect_positive
.into_iter()
.map(|x| (x, x + 1))
.collect::<HashMap<_, _>>();
let indirect_negative = sample.iter().collect::<Vec<_>>();
indirect_negative.len();
indirect_negative
.iter()
.map(|x| (*x, *x + 1))
.collect::<HashMap<_, _>>();
}