1 // RUN: %clang_cc1 -std=c++17 -verify %s
4 template <typename T
> class A
{
13 using T
= decltype(a
);
23 template<typename T
> struct D
: B
{ // expected-note {{not viable}}
24 D(T
, typename
T::type
); // expected-note {{private member}}
31 D x
= {X(), {}}; // expected-error {{no viable constructor or deduction guide}}
33 // Once we implement proper support for dependent nested name specifiers in
34 // friends, this should still work.
36 template <typename T
> friend D
<T
>::D(T
, typename
T::type
); // expected-warning {{dependent nested name specifier}}
42 template <typename T
> friend class D
;