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