xref: /llvm-project/clang/test/CXX/temp/temp.deduct.guide/p2.cpp (revision 60437620db8efae20e880c3a70933f6e8149dc7c)
135845150SRichard Smith // RUN: %clang_cc1 -std=c++1z -verify %s
2*60437620SRichard Smith // expected-no-diagnostics
335845150SRichard Smith 
435845150SRichard Smith namespace std_example {
535845150SRichard Smith   template<typename T, typename U = int> struct S {
635845150SRichard Smith     T data;
735845150SRichard Smith   };
835845150SRichard Smith   template<typename U> S(U) -> S<typename U::type>;
935845150SRichard Smith 
1035845150SRichard Smith   struct A {
1135845150SRichard Smith     using type = short;
1235845150SRichard Smith     operator type();
1335845150SRichard Smith   };
14*60437620SRichard Smith   S x{A()};
1535845150SRichard Smith }
16