1// { dg-do assemble  }
2
3template <class Q>
4class A {
5public:
6
7        typedef enum { X, Y } B;
8        template <B c> class Traits{ };
9};
10
11
12template class A<int>;
13template class A<double>::Traits<A<double>::X>;
14