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 = non_clone_type_ref.clone(); | ^^^^^^^^ | = note: the type `PlainType` does not implement `Clone`, so calling `clone` on `&PlainType` 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 = non_clone_type_ref.clone(); LL + let non_clone_type_ref_clone: &PlainType = non_clone_type_ref; | help: if you meant to clone `PlainType`, implement `Clone` for it | LL + #[derive(Clone)] LL | struct PlainType(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 = non_deref_type.deref(); | ^^^^^^^^ | = note: the type `PlainType` does not implement `Deref`, so calling `deref` on `&PlainType` copies the reference, which does not do anything and can be removed help: remove this redundant call | LL - let non_deref_type_deref: &PlainType = non_deref_type.deref(); LL + let non_deref_type_deref: &PlainType = non_deref_type; | help: if you meant to clone `PlainType`, implement `Clone` for it | LL + #[derive(Clone)] LL | struct PlainType(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 = non_borrow_type.borrow(); | ^^^^^^^^^ | = note: the type `PlainType` does not implement `Borrow`, so calling `borrow` on `&PlainType` copies the reference, which does not do anything and can be removed help: remove this redundant call | LL - let non_borrow_type_borrow: &PlainType = non_borrow_type.borrow(); LL + let non_borrow_type_borrow: &PlainType = non_borrow_type; | help: if you meant to clone `PlainType`, implement `Clone` for it | LL + #[derive(Clone)] LL | struct PlainType(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` does not implement `Clone`, so calling `clone` on `&PlainType` 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`, implement `Clone` for it | LL + #[derive(Clone)] LL | struct PlainType(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` does not implement `Clone`, so calling `clone` on `&PlainType` 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`, implement `Clone` for it | LL + #[derive(Clone)] LL | struct PlainType(T); | warning: 7 warnings emitted