https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117727
Jiang An <de34 at live dot cn> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |de34 at live dot cn --- Comment #7 from Jiang An <de34 at live dot cn> --- > MSVC only says the last static_assert fails and accepts the first one. I believe that MSVC is wrong on this per https://eel.is/c++draft/expr.eq#5. > Is this (all bits if a nullptr_t being padding bits) in the spec or are you > referring to gcc's implementation? It seems that the value representation of nullptr_t is totally unspecified in the C++ standard. I'm trying to submit a CWG issue to make it implementation-defined (https://github.com/cplusplus/CWG/issues/644). Anyway, I guess the implementation divergence (modulo MSVC's incorrect operator==) should be permitted.