Skip to content

Commit

Permalink
Auto merge of #10873 - Alexendoo:redundant-clone-nursery, r=flip1995
Browse files Browse the repository at this point in the history
Move `redundant_clone` to `nursery`

changelog: [`redundant_clone`]: Move to `nursery`

A bunch of FPs in `redundant_clone` have sprung up after upstream MIR changes: rust-lang/rust#108944

- #10870
- #10577
- #10545
- #10517

r? `@flip1995`
  • Loading branch information
bors committed Jun 5, 2023
2 parents 8c0ed28 + e29a681 commit ae880e4
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 33 deletions.
2 changes: 1 addition & 1 deletion clippy_lints/src/redundant_clone.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ declare_clippy_lint! {
/// ```
#[clippy::version = "1.32.0"]
pub REDUNDANT_CLONE,
perf,
nursery,
"`clone()` of an owned value that is going to be dropped immediately"
}

Expand Down
1 change: 1 addition & 0 deletions tests/ui/redundant_clone.fixed
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
//@run-rustfix
// rustfix-only-machine-applicable
#![feature(lint_reasons)]
#![warn(clippy::redundant_clone)]
#![allow(clippy::drop_non_drop, clippy::implicit_clone, clippy::uninlined_format_args)]

use std::ffi::OsString;
Expand Down
1 change: 1 addition & 0 deletions tests/ui/redundant_clone.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
//@run-rustfix
// rustfix-only-machine-applicable
#![feature(lint_reasons)]
#![warn(clippy::redundant_clone)]
#![allow(clippy::drop_non_drop, clippy::implicit_clone, clippy::uninlined_format_args)]

use std::ffi::OsString;
Expand Down
60 changes: 30 additions & 30 deletions tests/ui/redundant_clone.stderr
Original file line number Diff line number Diff line change
@@ -1,180 +1,180 @@
error: redundant clone
--> $DIR/redundant_clone.rs:10:42
--> $DIR/redundant_clone.rs:11:42
|
LL | let _s = ["lorem", "ipsum"].join(" ").to_string();
| ^^^^^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:10:14
--> $DIR/redundant_clone.rs:11:14
|
LL | let _s = ["lorem", "ipsum"].join(" ").to_string();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: `-D clippy::redundant-clone` implied by `-D warnings`

error: redundant clone
--> $DIR/redundant_clone.rs:13:15
--> $DIR/redundant_clone.rs:14:15
|
LL | let _s = s.clone();
| ^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:13:14
--> $DIR/redundant_clone.rs:14:14
|
LL | let _s = s.clone();
| ^

error: redundant clone
--> $DIR/redundant_clone.rs:16:15
--> $DIR/redundant_clone.rs:17:15
|
LL | let _s = s.to_string();
| ^^^^^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:16:14
--> $DIR/redundant_clone.rs:17:14
|
LL | let _s = s.to_string();
| ^

error: redundant clone
--> $DIR/redundant_clone.rs:19:15
--> $DIR/redundant_clone.rs:20:15
|
LL | let _s = s.to_owned();
| ^^^^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:19:14
--> $DIR/redundant_clone.rs:20:14
|
LL | let _s = s.to_owned();
| ^

error: redundant clone
--> $DIR/redundant_clone.rs:21:42
--> $DIR/redundant_clone.rs:22:42
|
LL | let _s = Path::new("/a/b/").join("c").to_owned();
| ^^^^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:21:14
--> $DIR/redundant_clone.rs:22:14
|
LL | let _s = Path::new("/a/b/").join("c").to_owned();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: redundant clone
--> $DIR/redundant_clone.rs:23:42
--> $DIR/redundant_clone.rs:24:42
|
LL | let _s = Path::new("/a/b/").join("c").to_path_buf();
| ^^^^^^^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:23:14
--> $DIR/redundant_clone.rs:24:14
|
LL | let _s = Path::new("/a/b/").join("c").to_path_buf();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: redundant clone
--> $DIR/redundant_clone.rs:25:29
--> $DIR/redundant_clone.rs:26:29
|
LL | let _s = OsString::new().to_owned();
| ^^^^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:25:14
--> $DIR/redundant_clone.rs:26:14
|
LL | let _s = OsString::new().to_owned();
| ^^^^^^^^^^^^^^^

error: redundant clone
--> $DIR/redundant_clone.rs:27:29
--> $DIR/redundant_clone.rs:28:29
|
LL | let _s = OsString::new().to_os_string();
| ^^^^^^^^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:27:14
--> $DIR/redundant_clone.rs:28:14
|
LL | let _s = OsString::new().to_os_string();
| ^^^^^^^^^^^^^^^

error: redundant clone
--> $DIR/redundant_clone.rs:38:19
--> $DIR/redundant_clone.rs:39:19
|
LL | let _t = tup.0.clone();
| ^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:38:14
--> $DIR/redundant_clone.rs:39:14
|
LL | let _t = tup.0.clone();
| ^^^^^

error: redundant clone
--> $DIR/redundant_clone.rs:70:25
--> $DIR/redundant_clone.rs:71:25
|
LL | if b { (a.clone(), a.clone()) } else { (Alpha, a) }
| ^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:70:24
--> $DIR/redundant_clone.rs:71:24
|
LL | if b { (a.clone(), a.clone()) } else { (Alpha, a) }
| ^

error: redundant clone
--> $DIR/redundant_clone.rs:127:15
--> $DIR/redundant_clone.rs:128:15
|
LL | let _s = s.clone();
| ^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:127:14
--> $DIR/redundant_clone.rs:128:14
|
LL | let _s = s.clone();
| ^

error: redundant clone
--> $DIR/redundant_clone.rs:128:15
--> $DIR/redundant_clone.rs:129:15
|
LL | let _t = t.clone();
| ^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:128:14
--> $DIR/redundant_clone.rs:129:14
|
LL | let _t = t.clone();
| ^

error: redundant clone
--> $DIR/redundant_clone.rs:138:19
--> $DIR/redundant_clone.rs:139:19
|
LL | let _f = f.clone();
| ^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:138:18
--> $DIR/redundant_clone.rs:139:18
|
LL | let _f = f.clone();
| ^

error: redundant clone
--> $DIR/redundant_clone.rs:150:14
--> $DIR/redundant_clone.rs:151:14
|
LL | let y = x.clone().join("matthias");
| ^^^^^^^^ help: remove this
|
note: cloned value is neither consumed nor mutated
--> $DIR/redundant_clone.rs:150:13
--> $DIR/redundant_clone.rs:151:13
|
LL | let y = x.clone().join("matthias");
| ^^^^^^^^^

error: redundant clone
--> $DIR/redundant_clone.rs:204:11
--> $DIR/redundant_clone.rs:205:11
|
LL | foo(&x.clone(), move || {
| ^^^^^^^^ help: remove this
|
note: this value is dropped without further use
--> $DIR/redundant_clone.rs:204:10
--> $DIR/redundant_clone.rs:205:10
|
LL | foo(&x.clone(), move || {
| ^
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/unnecessary_to_owned.fixed
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//@run-rustfix

#![allow(clippy::needless_borrow, clippy::ptr_arg)]
#![warn(clippy::unnecessary_to_owned)]
#![warn(clippy::unnecessary_to_owned, clippy::redundant_clone)]

use std::borrow::Cow;
use std::ffi::{CStr, CString, OsStr, OsString};
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/unnecessary_to_owned.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//@run-rustfix

#![allow(clippy::needless_borrow, clippy::ptr_arg)]
#![warn(clippy::unnecessary_to_owned)]
#![warn(clippy::unnecessary_to_owned, clippy::redundant_clone)]

use std::borrow::Cow;
use std::ffi::{CStr, CString, OsStr, OsString};
Expand Down

0 comments on commit ae880e4

Please sign in to comment.