// { 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 "" } |