error: using `clone` on a `Copy` type
- --> $DIR/unnecessary_clone.rs:17:5
+ --> $DIR/unnecessary_clone.rs:21:5
|
LL | 42.clone();
| ^^^^^^^^^^ help: try removing the `clone` call: `42`
= note: `-D clippy::clone-on-copy` implied by `-D warnings`
error: using `clone` on a `Copy` type
- --> $DIR/unnecessary_clone.rs:21:5
+ --> $DIR/unnecessary_clone.rs:25:5
|
LL | (&42).clone();
| ^^^^^^^^^^^^^ help: try dereferencing it: `*(&42)`
error: using `clone` on a `Copy` type
- --> $DIR/unnecessary_clone.rs:24:5
+ --> $DIR/unnecessary_clone.rs:28:5
|
LL | rc.borrow().clone();
| ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*rc.borrow()`
-error: using '.clone()' on a ref-counted pointer
- --> $DIR/unnecessary_clone.rs:34:5
+error: using `clone` on a `Copy` type
+ --> $DIR/unnecessary_clone.rs:34:14
+ |
+LL | is_ascii('z'.clone());
+ | ^^^^^^^^^^^ help: try removing the `clone` call: `'z'`
+
+error: using `clone` on a `Copy` type
+ --> $DIR/unnecessary_clone.rs:38:14
+ |
+LL | vec.push(42.clone());
+ | ^^^^^^^^^^ help: try removing the `clone` call: `42`
+
+error: using `.clone()` on a ref-counted pointer
+ --> $DIR/unnecessary_clone.rs:48: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:37:5
+error: using `.clone()` on a ref-counted pointer
+ --> $DIR/unnecessary_clone.rs:51:5
|
LL | arc.clone();
| ^^^^^^^^^^^ help: try this: `Arc::<bool>::clone(&arc)`
-error: using '.clone()' on a ref-counted pointer
- --> $DIR/unnecessary_clone.rs:40:5
+error: using `.clone()` on a ref-counted pointer
+ --> $DIR/unnecessary_clone.rs:54:5
|
LL | rcweak.clone();
| ^^^^^^^^^^^^^^ help: try this: `Weak::<bool>::clone(&rcweak)`
-error: using '.clone()' on a ref-counted pointer
- --> $DIR/unnecessary_clone.rs:43:5
+error: using `.clone()` on a ref-counted pointer
+ --> $DIR/unnecessary_clone.rs:57: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:47:33
+error: using `.clone()` on a ref-counted pointer
+ --> $DIR/unnecessary_clone.rs:61:33
|
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:51:5
+ --> $DIR/unnecessary_clone.rs:65:5
|
LL | t.clone();
| ^^^^^^^^^ help: try removing the `clone` call: `t`
error: using `clone` on a `Copy` type
- --> $DIR/unnecessary_clone.rs:53:5
+ --> $DIR/unnecessary_clone.rs:67: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 instead of cloning the inner type
- --> $DIR/unnecessary_clone.rs:59:22
+ --> $DIR/unnecessary_clone.rs:73:22
|
LL | let z: &Vec<_> = y.clone();
| ^^^^^^^^^
|
LL | let z: &Vec<_> = &(*y).clone();
| ^^^^^^^^^^^^^
-help: or try being explicit about what type to 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);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | let z: &Vec<_> = <&std::vec::Vec<i32>>::clone(y);
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-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:66:27
- |
-LL | let v2: Vec<isize> = v.iter().cloned().collect();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()`
+error: using `clone` on a `Copy` type
+ --> $DIR/unnecessary_clone.rs:109:20
|
- = note: `-D clippy::iter-cloned-collect` implied by `-D warnings`
+LL | let _: E = a.clone();
+ | ^^^^^^^^^ help: try dereferencing it: `*****a`
-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:38
+error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type
+ --> $DIR/unnecessary_clone.rs:114:22
|
-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:76:24
+LL | let _ = &mut encoded.clone();
+ | ^^^^^^^^^^^^^^^
+ |
+help: try dereferencing it
|
-LL | .to_bytes()
- | ________________________^
-LL | | .iter()
-LL | | .cloned()
-LL | | .collect();
- | |______________________^ help: try: `.to_vec()`
+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 `Copy` type
- --> $DIR/unnecessary_clone.rs:114:20
+error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type
+ --> $DIR/unnecessary_clone.rs:115:18
|
-LL | let _: E = a.clone();
- | ^^^^^^^^^ help: try dereferencing it: `*****a`
+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: aborting due to 15 previous errors
+error: aborting due to 16 previous errors