diffblue-cbmc/regression/cpp-from-CVS/Templates35/main.cpp

31 lines
322 B
C++
Raw Normal View History

#include <cassert>
template<typename T>
class X
{
public:
// the :: should trigger elaboration of Z<int>
enum { e = T::e };
};
template<typename T>
class Y:public X<T>
{
public:
enum { e = X<T>::e } ;
};
template<typename T>
class Z
{
public:
enum { e = 1 };
};
Y<Z<int> > y;
int main()
{
assert(y.e==1);
}