https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89741
Tadeus Prastowo <tadeus.prastowo at unitn dot it> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|INVALID |--- --- Comment #7 from Tadeus Prastowo <tadeus.prastowo at unitn dot it> --- The code in question, which is simplified below to match the real use-case, does not involve template specialization, and so, the quoted passage does not apply: -- 8< ----------- template<int x = 0> struct X { static_assert(sizeof(decltype(x)) == 200, "1"); }; -- 8< ----------- The said code compiles fine with other GCC and Clang versions mentioned in the initial report. The code above has the merit of not requiring the specification of a redundant/dummy template argument just to fire the static assertion.