1 struct A { 2 }; 3 4 template <class T> 5 struct S{ 6 S(const A &); 7 }; 8 9 S(const A&) -> S<A>; 10 11 typedef decltype(S(A())) Type0; 12