xref: /llvm-project/clang/test/SemaCXX/ctad.cpp (revision 32aa7d823c8ae7183e65da2f29ed08a84d6a1b6b)
1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-unused-value -std=c++20 %s
2 // expected-no-diagnostics
3 
4 namespace GH64347 {
5 
6 template<typename X, typename Y> struct A { X x; Y y;};
test()7 void test() {
8    A(1, 2);
9    new A(1, 2);
10 }
11 
12 template<A a>
f()13 void f() { (void)a; }
k()14 void k() {
15   // Test CTAD works for non-type template arguments.
16   f<A(0, 0)>();
17 }
18 
19 } // namespace GH64347
20