Add cloned_instead_of_copied lint

This commit is contained in:
Cameron Steffen 2021-04-16 11:00:08 -05:00
parent 1e0a3ff55c
commit 0462666c70
8 changed files with 151 additions and 1 deletions

View file

@ -0,0 +1,15 @@
// run-rustfix
#![warn(clippy::cloned_instead_of_copied)]
fn main() {
// yay
let _ = [1].iter().copied();
let _ = vec!["hi"].iter().copied();
let _ = Some(&1).copied();
let _ = Box::new([1].iter()).copied();
let _ = Box::new(Some(&1)).copied();
// nay
let _ = [String::new()].iter().cloned();
let _ = Some(&String::new()).cloned();
}

View file

@ -0,0 +1,15 @@
// run-rustfix
#![warn(clippy::cloned_instead_of_copied)]
fn main() {
// yay
let _ = [1].iter().cloned();
let _ = vec!["hi"].iter().cloned();
let _ = Some(&1).cloned();
let _ = Box::new([1].iter()).cloned();
let _ = Box::new(Some(&1)).cloned();
// nay
let _ = [String::new()].iter().cloned();
let _ = Some(&String::new()).cloned();
}

View file

@ -0,0 +1,34 @@
error: used `cloned` where `copied` could be used instead
--> $DIR/cloned_instead_of_copied.rs:6:24
|
LL | let _ = [1].iter().cloned();
| ^^^^^^ help: try: `copied`
|
= note: `-D clippy::cloned-instead-of-copied` implied by `-D warnings`
error: used `cloned` where `copied` could be used instead
--> $DIR/cloned_instead_of_copied.rs:7:31
|
LL | let _ = vec!["hi"].iter().cloned();
| ^^^^^^ help: try: `copied`
error: used `cloned` where `copied` could be used instead
--> $DIR/cloned_instead_of_copied.rs:8:22
|
LL | let _ = Some(&1).cloned();
| ^^^^^^ help: try: `copied`
error: used `cloned` where `copied` could be used instead
--> $DIR/cloned_instead_of_copied.rs:9:34
|
LL | let _ = Box::new([1].iter()).cloned();
| ^^^^^^ help: try: `copied`
error: used `cloned` where `copied` could be used instead
--> $DIR/cloned_instead_of_copied.rs:10:32
|
LL | let _ = Box::new(Some(&1)).cloned();
| ^^^^^^ help: try: `copied`
error: aborting due to 5 previous errors