1 // PR c++/66260 2 // { dg-do assemble { target c++14 } } 3 4 template <class> 5 constexpr bool foo = false; 6 template <> 7 constexpr bool foo<int> = true; 8 template <class T, int N> 9 constexpr bool foo<T[N]> = foo<T>; 10 11 static_assert(foo<int>, ""); 12 static_assert(!foo<double>, ""); 13 static_assert(foo<int[3]>, ""); 14 static_assert(!foo<double[3]>, ""); 15 static_assert(foo<int[2][5][3]>, ""); 16 static_assert(!foo<double[2][5][3]>, ""); 17