RS.CLIPPY.DERIVE_PARTIAL_EQ_WITHOUT_EQ
Deriving `PartialEq` on a type that can implement `Eq`, without implementing `Eq`
This checker is a Clippy lint created by The Rust Project Contributors. The documentation shown here is a copy of the original documentation for: derive_partial_eq_without_eq. Copyright ©2025 The Rust Team. All rights reserved.
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<String>,
}
Use instead:
#[derive(PartialEq, Eq)]
struct Foo {
i_am_eq: i32,
i_am_eq_too: Vec<String>,
}