### What it does Checks for types that derive `PartialEq` and could implement `Eq`. ### Why is this bad? If a type `T` derives `PartialEq` and all of its members implement `Eq`, then `T` can always implement `Eq`. Implementing `Eq` allows `T` to be used in APIs that require `Eq` types. It also allows structs containing `T` to derive `Eq` themselves. ### Example ``` #[derive(PartialEq)] struct Foo { i_am_eq: i32, i_am_eq_too: Vec, } ``` Use instead: ``` #[derive(PartialEq, Eq)] struct Foo { i_am_eq: i32, i_am_eq_too: Vec, } ```