1 2 3 4 5 6 7 8 9 10 11 12
// { dg-do compile } // PR C++/29388 // We used to ICE in is_ancestor because we would use int as the context of foo // but that is invalid. template<int> struct A { typedef int T; void foo(); }; template<int N> void A<N>::T::foo() {} // { dg-error "" }