### What it does Checks for deriving `Hash` but implementing `PartialEq` explicitly or vice versa. ### Why is this bad? The implementation of these traits must agree (for example for use with `HashMap`) so it’s probably a bad idea to use a default-generated `Hash` implementation with an explicitly defined `PartialEq`. In particular, the following must hold for any type: ``` k1 == k2 ⇒ hash(k1) == hash(k2) ``` ### Example ``` #[derive(Hash)] struct Foo; impl PartialEq for Foo { ... } ```