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