### What it does Checks for explicit `Clone` implementations for `Copy` types. ### Why is this bad? To avoid surprising behavior, these traits should agree and the behavior of `Copy` cannot be overridden. In almost all situations a `Copy` type should have a `Clone` implementation that does nothing more than copy the object, which is what `#[derive(Copy, Clone)]` gets you. ### Example ``` #[derive(Copy)] struct Foo; impl Clone for Foo { // .. } ```