This patch removes the static_assert for non-enum types in the primary hash template. Instead non-enum types create a hash<T> specialization that is not constructible nor callable.
See also:
Differential D23331
Implement LWG 2148: Make non-enum default hash specialization well-formed EricWF on Aug 9 2016, 12:37 PM. Authored by
Details This patch removes the static_assert for non-enum types in the primary hash template. Instead non-enum types create a hash<T> specialization that is not constructible nor callable. See also:
Diff Detail Event TimelineComment Actions This looks good to me. Comment Actions Exactly why I put this up for review. However I've had two separate people ask about the status of this change. Clearly users want it and dislike the current behavior. |