mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-24 21:53:23 +00:00
1df2e38219
clone_on_copy: show the type in the lint message changelog: clone_on_copy: show the type in the lint message
106 lines
3.7 KiB
Text
106 lines
3.7 KiB
Text
error: using `.clone()` on a ref-counted pointer
|
|
--> $DIR/unnecessary_clone.rs:23:5
|
|
|
|
|
LL | rc.clone();
|
|
| ^^^^^^^^^^ help: try this: `Rc::<bool>::clone(&rc)`
|
|
|
|
|
= note: `-D clippy::clone-on-ref-ptr` implied by `-D warnings`
|
|
|
|
error: using `.clone()` on a ref-counted pointer
|
|
--> $DIR/unnecessary_clone.rs:26:5
|
|
|
|
|
LL | arc.clone();
|
|
| ^^^^^^^^^^^ help: try this: `Arc::<bool>::clone(&arc)`
|
|
|
|
error: using `.clone()` on a ref-counted pointer
|
|
--> $DIR/unnecessary_clone.rs:29:5
|
|
|
|
|
LL | rcweak.clone();
|
|
| ^^^^^^^^^^^^^^ help: try this: `Weak::<bool>::clone(&rcweak)`
|
|
|
|
error: using `.clone()` on a ref-counted pointer
|
|
--> $DIR/unnecessary_clone.rs:32:5
|
|
|
|
|
LL | arc_weak.clone();
|
|
| ^^^^^^^^^^^^^^^^ help: try this: `Weak::<bool>::clone(&arc_weak)`
|
|
|
|
error: using `.clone()` on a ref-counted pointer
|
|
--> $DIR/unnecessary_clone.rs:36:33
|
|
|
|
|
LL | let _: Arc<dyn SomeTrait> = x.clone();
|
|
| ^^^^^^^^^ help: try this: `Arc::<SomeImpl>::clone(&x)`
|
|
|
|
error: using `clone` on type `T` which implements the `Copy` trait
|
|
--> $DIR/unnecessary_clone.rs:40:5
|
|
|
|
|
LL | t.clone();
|
|
| ^^^^^^^^^ help: try removing the `clone` call: `t`
|
|
|
|
|
= note: `-D clippy::clone-on-copy` implied by `-D warnings`
|
|
|
|
error: using `clone` on type `std::option::Option<T>` which implements the `Copy` trait
|
|
--> $DIR/unnecessary_clone.rs:42:5
|
|
|
|
|
LL | Some(t).clone();
|
|
| ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `Some(t)`
|
|
|
|
error: using `clone` on a double-reference; this will copy the reference of type `&std::vec::Vec<i32>` instead of cloning the inner type
|
|
--> $DIR/unnecessary_clone.rs:48:22
|
|
|
|
|
LL | let z: &Vec<_> = y.clone();
|
|
| ^^^^^^^^^
|
|
|
|
|
= note: `#[deny(clippy::clone_double_ref)]` on by default
|
|
help: try dereferencing it
|
|
|
|
|
LL | let z: &Vec<_> = &(*y).clone();
|
|
| ^^^^^^^^^^^^^
|
|
help: or try being explicit if you are sure, that you want to clone a reference
|
|
|
|
|
LL | let z: &Vec<_> = <&std::vec::Vec<i32>>::clone(y);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: using `clone` on type `many_derefs::E` which implements the `Copy` trait
|
|
--> $DIR/unnecessary_clone.rs:84:20
|
|
|
|
|
LL | let _: E = a.clone();
|
|
| ^^^^^^^^^ help: try dereferencing it: `*****a`
|
|
|
|
error: using `clone` on a double-reference; this will copy the reference of type `&[u8]` instead of cloning the inner type
|
|
--> $DIR/unnecessary_clone.rs:89:22
|
|
|
|
|
LL | let _ = &mut encoded.clone();
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|
help: try dereferencing it
|
|
|
|
|
LL | let _ = &mut &(*encoded).clone();
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
help: or try being explicit if you are sure, that you want to clone a reference
|
|
|
|
|
LL | let _ = &mut <&[u8]>::clone(encoded);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: using `clone` on a double-reference; this will copy the reference of type `&[u8]` instead of cloning the inner type
|
|
--> $DIR/unnecessary_clone.rs:90:18
|
|
|
|
|
LL | let _ = &encoded.clone();
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|
help: try dereferencing it
|
|
|
|
|
LL | let _ = &&(*encoded).clone();
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
help: or try being explicit if you are sure, that you want to clone a reference
|
|
|
|
|
LL | let _ = &<&[u8]>::clone(encoded);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: using `.clone()` on a ref-counted pointer
|
|
--> $DIR/unnecessary_clone.rs:108:14
|
|
|
|
|
LL | Some(try_opt!(Some(rc)).clone())
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `Rc::<u8>::clone(&try_opt!(Some(rc)))`
|
|
|
|
error: aborting due to 12 previous errors
|
|
|