error: using `clone` on a `Copy` type --> $DIR/unnecessary_clone.rs:16:5 | 16 | 42.clone(); | ^^^^^^^^^^ help: try removing the `clone` call: `42` | = note: `-D clone-on-copy` implied by `-D warnings` error: using `clone` on a `Copy` type --> $DIR/unnecessary_clone.rs:20:5 | 20 | (&42).clone(); | ^^^^^^^^^^^^^ help: try dereferencing it: `*(&42)` error: using '.clone()' on a ref-counted pointer --> $DIR/unnecessary_clone.rs:30:5 | 30 | rc.clone(); | ^^^^^^^^^^ help: try this: `Rc::clone(&rc)` | = note: `-D clone-on-ref-ptr` implied by `-D warnings` error: using '.clone()' on a ref-counted pointer --> $DIR/unnecessary_clone.rs:33:5 | 33 | arc.clone(); | ^^^^^^^^^^^ help: try this: `Arc::clone(&arc)` error: using '.clone()' on a ref-counted pointer --> $DIR/unnecessary_clone.rs:36:5 | 36 | rcweak.clone(); | ^^^^^^^^^^^^^^ help: try this: `Weak::clone(&rcweak)` error: using '.clone()' on a ref-counted pointer --> $DIR/unnecessary_clone.rs:39:5 | 39 | arc_weak.clone(); | ^^^^^^^^^^^^^^^^ help: try this: `Weak::clone(&arc_weak)` error: using '.clone()' on a ref-counted pointer --> $DIR/unnecessary_clone.rs:43:29 | 43 | let _: Arc = x.clone(); | ^^^^^^^^^ help: try this: `Arc::clone(&x)` error: using `clone` on a `Copy` type --> $DIR/unnecessary_clone.rs:47:5 | 47 | t.clone(); | ^^^^^^^^^ help: try removing the `clone` call: `t` error: using `clone` on a `Copy` type --> $DIR/unnecessary_clone.rs:49:5 | 49 | 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 | 55 | let z: &Vec<_> = y.clone(); | ^^^^^^^^^ | = note: `-D clone-double-ref` implied by `-D warnings` help: try dereferencing it | 55 | let z: &Vec<_> = &(*y).clone(); | ^^^^^^^^^^^^^ help: or try being explicit about what type to clone | 55 | let z: &Vec<_> = &std::vec::Vec::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 | 62 | let v2 : Vec = v.iter().cloned().collect(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `-D iter-cloned-collect` implied by `-D warnings`