summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/src/docs/expl_impl_clone_on_copy.txt
blob: 391d93b6713cca2005d7d14b2b97fd24c48e8098 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
### 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 {
    // ..
}
```