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