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