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