1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -verify %s 2*67e74705SXin Li // expected-no-diagnostics 3*67e74705SXin Li // PR4382 4*67e74705SXin Li template<typename T> struct X { static const T A = 1; }; 5*67e74705SXin Li template<typename T, bool = X<T>::A> struct Y { typedef T A; }; 6*67e74705SXin Li template<typename T> struct Z { typedef typename Y<T>::A A; }; 7*67e74705SXin Li extern int x; 8*67e74705SXin Li extern Z<int>::A x; 9