error: using `clone` on a `Copy` type
- --> $DIR/unnecessary_clone.rs:16:5
+ --> $DIR/unnecessary_clone.rs:17:5
|
-16 | 42.clone();
+LL | 42.clone();
| ^^^^^^^^^^ help: try removing the `clone` call: `42`
|
- = note: `-D clone-on-copy` implied by `-D warnings`
+ = note: `-D clippy::clone-on-copy` implied by `-D warnings`
error: using `clone` on a `Copy` type
- --> $DIR/unnecessary_clone.rs:20:5
+ --> $DIR/unnecessary_clone.rs:21:5
|
-20 | (&42).clone();
+LL | (&42).clone();
| ^^^^^^^^^^^^^ help: try dereferencing it: `*(&42)`
+error: using `clone` on a `Copy` type
+ --> $DIR/unnecessary_clone.rs:24:5
+ |
+LL | rc.borrow().clone();
+ | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*rc.borrow()`
+
error: using '.clone()' on a ref-counted pointer
- --> $DIR/unnecessary_clone.rs:30:5
+ --> $DIR/unnecessary_clone.rs:39:5
|
-30 | rc.clone();
+LL | rc.clone();
| ^^^^^^^^^^ help: try this: `Rc::<bool>::clone(&rc)`
|
- = note: `-D clone-on-ref-ptr` implied by `-D warnings`
+ = note: `-D clippy::clone-on-ref-ptr` implied by `-D warnings`
error: using '.clone()' on a ref-counted pointer
- --> $DIR/unnecessary_clone.rs:33:5
+ --> $DIR/unnecessary_clone.rs:42:5
|
-33 | arc.clone();
+LL | arc.clone();
| ^^^^^^^^^^^ help: try this: `Arc::<bool>::clone(&arc)`
error: using '.clone()' on a ref-counted pointer
- --> $DIR/unnecessary_clone.rs:36:5
+ --> $DIR/unnecessary_clone.rs:45:5
|
-36 | rcweak.clone();
+LL | rcweak.clone();
| ^^^^^^^^^^^^^^ help: try this: `Weak::<bool>::clone(&rcweak)`
error: using '.clone()' on a ref-counted pointer
- --> $DIR/unnecessary_clone.rs:39:5
+ --> $DIR/unnecessary_clone.rs:48:5
|
-39 | arc_weak.clone();
+LL | arc_weak.clone();
| ^^^^^^^^^^^^^^^^ help: try this: `Weak::<bool>::clone(&arc_weak)`
error: using '.clone()' on a ref-counted pointer
- --> $DIR/unnecessary_clone.rs:43:29
+ --> $DIR/unnecessary_clone.rs:52:33
|
-43 | let _: Arc<SomeTrait> = x.clone();
- | ^^^^^^^^^ help: try this: `Arc::<SomeImpl>::clone(&x)`
+LL | let _: Arc<dyn SomeTrait> = x.clone();
+ | ^^^^^^^^^ help: try this: `Arc::<SomeImpl>::clone(&x)`
error: using `clone` on a `Copy` type
- --> $DIR/unnecessary_clone.rs:47:5
+ --> $DIR/unnecessary_clone.rs:56:5
|
-47 | t.clone();
+LL | t.clone();
| ^^^^^^^^^ help: try removing the `clone` call: `t`
error: using `clone` on a `Copy` type
- --> $DIR/unnecessary_clone.rs:49:5
+ --> $DIR/unnecessary_clone.rs:58:5
|
-49 | Some(t).clone();
+LL | Some(t).clone();
| ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `Some(t)`
error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type
- --> $DIR/unnecessary_clone.rs:55:22
+ --> $DIR/unnecessary_clone.rs:64:22
|
-55 | let z: &Vec<_> = y.clone();
+LL | let z: &Vec<_> = y.clone();
| ^^^^^^^^^
|
- = note: `-D clone-double-ref` implied by `-D warnings`
+ = note: `#[deny(clippy::clone_double_ref)]` on by default
help: try dereferencing it
|
-55 | let z: &Vec<_> = &(*y).clone();
+LL | let z: &Vec<_> = &(*y).clone();
| ^^^^^^^^^^^^^
help: or try being explicit about what type to clone
|
-55 | let z: &Vec<_> = &std::vec::Vec<i32>::clone(y);
+LL | let z: &Vec<_> = &std::vec::Vec<i32>::clone(y);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: called `cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable
- --> $DIR/unnecessary_clone.rs:62:27
+error: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable
+ --> $DIR/unnecessary_clone.rs:71:27
+ |
+LL | let v2: Vec<isize> = v.iter().cloned().collect();
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()`
|
-62 | let v2 : Vec<isize> = v.iter().cloned().collect();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ = note: `-D clippy::iter-cloned-collect` implied by `-D warnings`
+
+error: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable
+ --> $DIR/unnecessary_clone.rs:76:38
+ |
+LL | let _: Vec<isize> = vec![1, 2, 3].iter().cloned().collect();
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()`
+
+error: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable
+ --> $DIR/unnecessary_clone.rs:81:24
+ |
+LL | .to_bytes()
+ | ________________________^
+LL | | .iter()
+LL | | .cloned()
+LL | | .collect();
+ | |______________________^ help: try: `.to_vec()`
+
+error: using `clone` on a `Copy` type
+ --> $DIR/unnecessary_clone.rs:119:20
|
- = note: `-D iter-cloned-collect` implied by `-D warnings`
+LL | let _: E = a.clone();
+ | ^^^^^^^^^ help: try dereferencing it: `*****a`
-error: aborting due to 11 previous errors
+error: aborting due to 15 previous errors