blob: 6a8a60a2ffa83ea0a341312f0fedc9607186a0b3 [file] [log] [blame]
// { dg-do assemble }
// Tests partial specialization
template<class T> struct foo1 {};
template<class T, int n> struct foo1<T[n]>;
foo1<char> bar1;
foo1<char[10]> baz1; // { dg-error "" } incomplete type
template<class T> struct foo2 {};
template<class T, unsigned n> struct foo2<T[n]>;
foo2<char> bar2;
foo2<char[10]> baz2; // { dg-error "" } incomplete type
typedef unsigned int other1_t;
template<class T> struct foo3 {};
template<class T, other1_t n> struct foo3<T[n]>;
foo3<char> bar3;
foo3<char[10]> baz3; // { dg-error "" } incomplete type -
typedef int other2_t;
template<class T> struct foo4 {};
template<class T, other1_t n> struct foo4<T[n]>;
foo4<char> bar4;
foo4<char[10]> baz4; // { dg-error "" } incomplete type -