### 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 {
    // ..
}
```