1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // expected-no-diagnostics
4 template <class T
> struct A
{
7 template <class U
> struct B
{
8 static T
twice(U value
) {
9 return (cond
? value
+ value
: value
);
13 extern template bool A
<bool>::cond
;
17 return A
<bool>::B
<int>::twice(4);
33 template<typename T
, typename U
>
34 struct Z
: public X
<T
>::template Y1
<U
> { };