]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/unnecessary_clone.stderr
Move MSRV tests into the lint specific test files
[rust.git] / tests / ui / unnecessary_clone.stderr
index b1388044c42cdfb230201d9f31aeb4a39088765f..94cc7777acacd787a8aff6f64f48f66d4c9eb0e2 100644 (file)
@@ -1,69 +1,51 @@
-error: using `clone` on a `Copy` type
-  --> $DIR/unnecessary_clone.rs:17: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
-   |
-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:39:5
+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:42:5
+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:45:5
+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:48:5
+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:52:33
+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 a `Copy` type
-  --> $DIR/unnecessary_clone.rs:56:5
+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 a `Copy` type
-  --> $DIR/unnecessary_clone.rs:58:5
+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 instead of cloning the inner type
-  --> $DIR/unnecessary_clone.rs:64:22
+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();
    |                      ^^^^^^^^^
@@ -72,41 +54,53 @@ LL |     let z: &Vec<_> = y.clone();
 help: try dereferencing it
    |
 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:71:27
-   |
-LL |     let v2: Vec<isize> = v.iter().cloned().collect();
-   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()`
+error: using `clone` on type `many_derefs::E` which implements the `Copy` trait
+  --> $DIR/unnecessary_clone.rs:84: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:76:38
+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 _: Vec<isize> = vec![1, 2, 3].iter().cloned().collect();
-   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()`
+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: 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 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 `Copy` type
-  --> $DIR/unnecessary_clone.rs:119:20
+error: using `.clone()` on a ref-counted pointer
+  --> $DIR/unnecessary_clone.rs:108:14
    |
-LL |         let _: E = a.clone();
-   |                    ^^^^^^^^^ help: try dereferencing it: `*****a`
+LL |         Some(try_opt!(Some(rc)).clone())
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `Rc::<u8>::clone(&try_opt!(Some(rc)))`
 
-error: aborting due to 15 previous errors
+error: aborting due to 12 previous errors