18 lines
372 B
C++
18 lines
372 B
C++
// RUN: %clang_cc1 -std=c++17 -verify %s
|
|
// expected-no-diagnostics
|
|
|
|
template<typename T> struct A {
|
|
template<typename U> struct B {
|
|
B(...);
|
|
B(const B &) = default;
|
|
};
|
|
template<typename U> B(U) -> B<U>;
|
|
};
|
|
A<void>::B b = 123;
|
|
A<void>::B copy = b;
|
|
|
|
using T = decltype(b);
|
|
using T = A<void>::B<int>;
|
|
|
|
using Copy = decltype(copy);
|
|
using Copy = A<void>::B<int>;
|