https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91271

            Bug ID: 91271
           Summary: class template specialization on std::array failed
           Product: gcc
           Version: 9.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zhangbonian17 at 163 dot com
  Target Milestone: ---

This is the offending code. It compiles successfully on clang/msvc recent
versions.

#include <array>

template<typename T>
struct debug_t;

template<typename T>
struct A{
/*use the primary template will cause the error*/
static void _() {debug_t<T> d;}
};

template<typename T,int N>
struct A<std::array<T,N>>
{
static void _() {}
};

int main()
{
A<std::array<int,2>>::_();
}

Reply via email to