[clang] [clang] Implement P2582R1: CTAD from inherited constructors (PR #98788)
Haojian Wu via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 2 03:03:44 PDT 2024
================
@@ -944,12 +950,67 @@ getRHSTemplateDeclAndArgs(Sema &SemaRef, TypeAliasTemplateDecl *AliasTemplate) {
return {Template, AliasRhsTemplateArgs};
}
+struct InheritedConstructorDeductionInfo {
+ TemplateDecl *DerivedClassTemplate;
+ TypeSourceInfo *CCType;
+};
+
+// Build the type for a deduction guide generated from an inherited constructor
+// [over.match.class.deduct]p1.10:
+// ... the set contains the guides of A with the return type R
+// of each guide replaced with `typename CC<R>::type` ...
+TypeSourceInfo *buildInheritedConstructorDeductionGuideType(
+ Sema &SemaRef, InheritedConstructorDeductionInfo Info,
----------------
hokein wrote:
nit: pass by const reference?
https://github.com/llvm/llvm-project/pull/98788
More information about the cfe-commits
mailing list