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