Note that an epsilon definition of PartialEq is actually illegal (though not UB). The trait requires that a == b && b == c --> a == c, and that's trivially not true with epsilon -- consider -0.07, 0, and 0.07 (with an epsilon of 0.1), for example.
I already use this crate, look who is author of question that you linked.
The problem in automatization,
yes I can write, and at now I actually do it:
#[cfg(test)]
impl PartialEq for Foo {
}
but several time I added new data field to struct Foo, and
forget update imp PartialEq, so at now I am looking for derive/proc_macro that automate things for me.
Worth noting that there is an upcoming change to the inference engine planned. Mainly, chalk is planning on being integrated into rustc. I'm not 100% sure that chalk will be able to solve problems like this either, but it might do that.