https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92150
Bug ID: 92150 Summary: Partial specializations of class templates with class NTTP fails Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: mateusz.pusz at gmail dot com Target Milestone: --- The following code fails the assert ``` struct X { int value; // auto operator==(const X&) = default; }; template<typename T, X N> struct b; template<typename T> inline constexpr bool is_b = false; template<typename T, X N> inline constexpr bool is_b<b<T, N>> = true; using my_b = b<int, X{1}>; static_assert(is_b<my_b>); ``` https://godbolt.org/z/Q8wpC3