// RUN: %clang_cc1 -std=c++1z -verify %s
// expected-no-diagnostics
namespace std_example {
template<typename T, typename U = int> struct S {
T data;
};
template<typename U> S(U) -> S<typename U::type>;
struct A {
using type = short;
operator type();
};
S x{A()};
}