1*4fa14515SRichard Smith // RUN: %clang_cc1 -std=c++17 -verify %s 2*4fa14515SRichard Smith // expected-no-diagnostics 3*4fa14515SRichard Smith 4*4fa14515SRichard Smith template<typename T> struct A { 5*4fa14515SRichard Smith template<typename U> struct B { 6*4fa14515SRichard Smith B(...); 7*4fa14515SRichard Smith }; 8*4fa14515SRichard Smith template<typename U> B(U) -> B<U>; 9*4fa14515SRichard Smith }; 10*4fa14515SRichard Smith A<void>::B b = 123; 11*4fa14515SRichard Smith 12*4fa14515SRichard Smith using T = decltype(b); 13*4fa14515SRichard Smith using T = A<void>::B<int>; 14