// { dg-do assemble  }
// Test nested enums in templates.
template <class T>
class A
{
public:
  enum muni {X, Y};
  
  muni e() { return X; }
  muni f();
};
template <class T>
typename A<T>::muni A<T>::f() { return X; }
template class A<int>;
// { dg-do assemble  }
// Test nested enums in templates.
template <class T>
class A
{
public:
  enum muni {X, Y};
  
  muni e() { return X; }
  muni f();
};
template <class T>
typename A<T>::muni A<T>::f() { return X; }
template class A<int>;