1 // Origin: PR c++/43327 2 // { dg-do compile } 3 4 template <typename _T> 5 struct A 6 { 7 template <int _N, int _M> struct B; 8 9 template <int _N> 10 struct B<_N, _T::m> 11 { 12 static void f(); 13 }; 14 }; 15 16 struct C 17 { 18 static int m; 19 }; 20 21 void m() 22 { 23 A<C>::B<1, 4>::f(); // { dg-error "incomplete type|not a valid" } 24 } 25 26 int C::m = 4; 27 28