← Rule catalog

Clippy · Correctness

Derived Hash paired with hand-written PartialEq

clippy::derived_hash_with_manual_eq

Derive both Hash and PartialEq, or implement Hash by hand on the same fields PartialEq compares.

Category
Correctness
Default level
warn
Tier
P1
Producer
Clippy
Diff scope
line

Not a defect when

The manual PartialEq compares exactly the fields the derive hashes, for example only adding a pointer-equality fast path, so equal values still hash equally.

What it reads

Clippy, with the compiler behind it. The only pass that compiles.

Tier

Serious: worth interrupting other work for.

The tier bounds how severe a rule may be; its category bounds the tier.

Diff scope

The changed line itself.

What --scope contextual looks at to decide whether a change caused the finding.

Change it

Turn it off, or make it blocking, without touching the code it flags:

rust-doctor --rule clippy::derived_hash_with_manual_eq=off .
rust-doctor --rule clippy::derived_hash_with_manual_eq=error .

Set it once in rust-doctor.toml

Upstream

Clippy's own documentation for this lint

Other Correctness rules