// Adapted from testcase by Oskar Enoksson <osken393@student.liu.se> extern "C" void abort(); template<class T0> class A { public: typedef T0 T; }; template<int K> class B { typedef A<char[K]> BC; }; template<int N, int M> class C { public: typedef A<char[M]> AC; }; int main() { if (sizeof(C<3,7>::AC::T) != 7) abort(); }