(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp1z/
class-deduction21.C
// { dg-do compile { target c++17 } }

template<class T, class D = int>
struct S { T t; };
template<class U>
S(U) -> S<typename U::type>;

struct A {
  using type = short;
  operator type();
};
S s{A()};			// OK
S x(A());			// { dg-error "return type" }