// RUN: %clang_cc1 -fsyntax-only -verify %s // PR4382 template struct X { static const T A = 1; }; template::A> struct Y { typedef T A; }; template struct Z { typedef typename Y::A A; }; extern int x; extern Z::A x; namespace pr21964 { struct H; template struct T { struct A; // expected-note {{member is declared here}} static void B() { A::template N; // expected-error {{implicit instantiation of undefined member 'pr21964::T::A'}} } }; template struct T; // expected-note {{requested here}} }