// { dg-do assemble  }

template <class Q>
class A {
public:
 
        typedef enum { X, Y } B;
        template <B c> class Traits{ };
};


template class A<int>;
template class A<double>::Traits<A<double>::X>;
