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