[clang] [clang] CTAD: fix the aggregate deduction guide for alias templates. (PR #90894)

Matheus Izvekov via cfe-commits cfe-commits at lists.llvm.org
Tue May 7 07:12:28 PDT 2024


================
@@ -261,6 +261,13 @@ AG ag = {1};
 // CHECK:   | `-BuiltinType {{.*}} 'int'
 // CHECK:   `-ParmVarDecl {{.*}} 'int'
 
+template <typename X = int>
+using BG = G<int>;
+BG bg(1.0);
+// CHECK-LABEL: Dumping <deduction guide for BG>
+// CHECK:      FunctionTemplateDecl {{.*}} implicit <deduction guide for BG>
+// CHECK: |-CXXDeductionGuideDecl {{.*}} 'auto (int) -> G<int>' aggregate
----------------
mizvekov wrote:

But that it is a child of something is trivial, because all declarations are children of something, except a translation unit declaration.

But the fact that this line test that this thing is neither the first nor the last child of that thing, means that it is quite likely to break with unrelated test churn.

https://github.com/llvm/llvm-project/pull/90894


More information about the cfe-commits mailing list