rust-derivative icon indicating copy to clipboard operation
rust-derivative copied to clipboard

Add `skip_discriminant` to skip discriminant comparison in derived `PartialEq` implementations

Open compiler-errors opened this issue 2 years ago • 0 comments

rustc wants to use derivative to simplify PartialEq derives, but encounters a pretty significant perf hit because the derivative(PartialEq) impl will add a discriminant comparison first, unlike our hand-rolled implementations.

This PR adds a PartialEq = "skip_discriminant" mode to skip generating an initial discriminant comparison so that rustc can derive more tailored PartialEq implementations for derivative. This is proven to work.

compiler-errors avatar Nov 04 '23 15:11 compiler-errors