// 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()}; | |
} |