https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88802
--- Comment #1 from Tomalak Geret'kal <tom at kera dot name> --- [unord.hash]/2 > Each specialization of hash is either enabled or disabled, as described > below. [ Note: Enabled specializations meet the Cpp17Hash requirements, and > disabled specializations do not. — end note ] Each header that declares the > template hash provides enabled specializations of hash for nullptr_t and all > cv-unqualified arithmetic, enumeration, and pointer types. For any type Key > for which neither the library nor the user provides an explicit or partial > specialization of the class template hash, hash<Key> is disabled. (Clang HEAD does support this, it turns out.)