clippy 0.0.208

A bunch of helpful lints to avoid common pitfalls in Rust
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::<bool>::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::<bool>::clone(&arc)`

error: using '.clone()' on a ref-counted pointer
  --> $DIR/unnecessary_clone.rs:36:5
   |
36 |     rcweak.clone();
   |     ^^^^^^^^^^^^^^ help: try this: `Weak::<bool>::clone(&rcweak)`

error: using '.clone()' on a ref-counted pointer
  --> $DIR/unnecessary_clone.rs:39:5
   |
39 |     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
   |
43 |     let _: Arc<SomeTrait> = x.clone(); 
   |                             ^^^^^^^^^ help: try this: `Arc::<SomeImpl>::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: #[deny(clone_double_ref)] on by default
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<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
   |
62 |     let v2 : Vec<isize> = v.iter().cloned().collect();
   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `-D iter-cloned-collect` implied by `-D warnings`

error: aborting due to 11 previous errors