// RUN: clang -fsyntax-only -verify %s | |
template<typename T, | |
int I, | |
template<typename> class TT> | |
class A; // expected-note 2 {{template is declared here}} | |
template<typename> class X; | |
A<int, 0, X> * a1; | |
A<float, 1, X, double> *a2; // expected-error{{too many template arguments for class template 'A'}} | |
A<float, 1> *a3; // expected-error{{too few template arguments for class template 'A'}} |