| warning: call to `.clone()` on a reference in this situation does nothing | 
 |   --> $DIR/noop-method-call.rs:15:25 | 
 |    | | 
 | LL |     let _ = &mut encoded.clone(); | 
 |    |                         ^^^^^^^^ help: remove this redundant call | 
 |    | | 
 |    = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed | 
 |    = note: `#[warn(noop_method_call)]` on by default | 
 |  | 
 | warning: call to `.clone()` on a reference in this situation does nothing | 
 |   --> $DIR/noop-method-call.rs:17:21 | 
 |    | | 
 | LL |     let _ = &encoded.clone(); | 
 |    |                     ^^^^^^^^ help: remove this redundant call | 
 |    | | 
 |    = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed | 
 |  | 
 | warning: call to `.clone()` on a reference in this situation does nothing | 
 |   --> $DIR/noop-method-call.rs:23:71 | 
 |    | | 
 | LL |     let non_clone_type_ref_clone: &PlainType<u32> = non_clone_type_ref.clone(); | 
 |    |                                                                       ^^^^^^^^ | 
 |    | | 
 |    = note: the type `PlainType<u32>` does not implement `Clone`, so calling `clone` on `&PlainType<u32>` copies the reference, which does not do anything and can be removed | 
 | help: remove this redundant call | 
 |    | | 
 | LL -     let non_clone_type_ref_clone: &PlainType<u32> = non_clone_type_ref.clone(); | 
 | LL +     let non_clone_type_ref_clone: &PlainType<u32> = non_clone_type_ref; | 
 |    | | 
 | help: if you meant to clone `PlainType<u32>`, implement `Clone` for it | 
 |    | | 
 | LL + #[derive(Clone)] | 
 | LL | struct PlainType<T>(T); | 
 |    | | 
 |  | 
 | warning: call to `.deref()` on a reference in this situation does nothing | 
 |   --> $DIR/noop-method-call.rs:31:63 | 
 |    | | 
 | LL |     let non_deref_type_deref: &PlainType<u32> = non_deref_type.deref(); | 
 |    |                                                               ^^^^^^^^ | 
 |    | | 
 |    = note: the type `PlainType<u32>` does not implement `Deref`, so calling `deref` on `&PlainType<u32>` copies the reference, which does not do anything and can be removed | 
 | help: remove this redundant call | 
 |    | | 
 | LL -     let non_deref_type_deref: &PlainType<u32> = non_deref_type.deref(); | 
 | LL +     let non_deref_type_deref: &PlainType<u32> = non_deref_type; | 
 |    | | 
 | help: if you meant to clone `PlainType<u32>`, implement `Clone` for it | 
 |    | | 
 | LL + #[derive(Clone)] | 
 | LL | struct PlainType<T>(T); | 
 |    | | 
 |  | 
 | warning: call to `.borrow()` on a reference in this situation does nothing | 
 |   --> $DIR/noop-method-call.rs:35:66 | 
 |    | | 
 | LL |     let non_borrow_type_borrow: &PlainType<u32> = non_borrow_type.borrow(); | 
 |    |                                                                  ^^^^^^^^^ | 
 |    | | 
 |    = note: the type `PlainType<u32>` does not implement `Borrow`, so calling `borrow` on `&PlainType<u32>` copies the reference, which does not do anything and can be removed | 
 | help: remove this redundant call | 
 |    | | 
 | LL -     let non_borrow_type_borrow: &PlainType<u32> = non_borrow_type.borrow(); | 
 | LL +     let non_borrow_type_borrow: &PlainType<u32> = non_borrow_type; | 
 |    | | 
 | help: if you meant to clone `PlainType<u32>`, implement `Clone` for it | 
 |    | | 
 | LL + #[derive(Clone)] | 
 | LL | struct PlainType<T>(T); | 
 |    | | 
 |  | 
 | warning: call to `.clone()` on a reference in this situation does nothing | 
 |   --> $DIR/noop-method-call.rs:44:19 | 
 |    | | 
 | LL |     non_clone_type.clone(); | 
 |    |                   ^^^^^^^^ | 
 |    | | 
 |    = note: the type `PlainType<T>` does not implement `Clone`, so calling `clone` on `&PlainType<T>` copies the reference, which does not do anything and can be removed | 
 | help: remove this redundant call | 
 |    | | 
 | LL -     non_clone_type.clone(); | 
 | LL +     non_clone_type; | 
 |    | | 
 | help: if you meant to clone `PlainType<T>`, implement `Clone` for it | 
 |    | | 
 | LL + #[derive(Clone)] | 
 | LL | struct PlainType<T>(T); | 
 |    | | 
 |  | 
 | warning: call to `.clone()` on a reference in this situation does nothing | 
 |   --> $DIR/noop-method-call.rs:49:19 | 
 |    | | 
 | LL |     non_clone_type.clone(); | 
 |    |                   ^^^^^^^^ | 
 |    | | 
 |    = note: the type `PlainType<u32>` does not implement `Clone`, so calling `clone` on `&PlainType<u32>` copies the reference, which does not do anything and can be removed | 
 | help: remove this redundant call | 
 |    | | 
 | LL -     non_clone_type.clone(); | 
 | LL +     non_clone_type; | 
 |    | | 
 | help: if you meant to clone `PlainType<u32>`, implement `Clone` for it | 
 |    | | 
 | LL + #[derive(Clone)] | 
 | LL | struct PlainType<T>(T); | 
 |    | | 
 |  | 
 | warning: 7 warnings emitted | 
 |  |