1// { dg-do assemble  }
2// by Alexandre Oliva <oliva@dcc.unicamp.br>
3// Based on a testcase by Reid M. Pinchback <reidmp@MIT.EDU>
4// According to the C++ Standard [temp.expl.spec]/17-18, explicit
5// specializations are only valid if all enclosing template classes
6// of the specialized template are fully specialized too
7
8template <class X>
9class bug {
10  template <class Y>
11  class a {};
12};
13template <class X>
14template <>			// { dg-error "" } invalid specialization
15class bug<X>::a<char> {};	// { dg-error "" }
16