Pre-RFC: std::cmp::NoOrder

Attributes seem like the best solution. They can be generalized to all derived traits that imply bounds on generic parameters, such as Clone, Hash, and Default. That said, not sure if I'd call the attribute #[clone(ignore)] or something like #[clone(no_derive_bounds)].

I just want to add that we cant ignore Ord without ignoring Hash as well, because in the case of a hash collision it would produce two different results as Eq is overridden. This would be a very hard bug to catch with the default hasher, but is easily reproducible with a bad hasher.

So any macro like #[cmp(ignore)] would also imply #[hash(ignore)], otherwise we would get very strange behavior.