-
Notifications
You must be signed in to change notification settings - Fork 4
Closed
cplusplus/draft
#3475Labels
Milestone
Description
With the separation of <=> and ==, weak_equality has lost its primary use (of being a potential return type of <=>). Currently weak_equality serves no useful purpose in the standard (i.e., nothing in std acts on it), and just causes confusion (what’s the difference between weak and strong, when should I use which?)
The difference between the two is ill-defined (involving substitutability and “salient” properties, which are also vaguely defined). The best definition of equality for a type is the type’s own == operator. We should not try to sub-divide the concept of equality.
Proposed change:
Remove weak_equality and all references to it. Rename strong_equality to just equality.
(New wording probably requires a paper, forthcoming).