[clang] [clang] Implement P2582R1: CTAD from inherited constructors (PR #98788)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 20 23:05:55 PST 2024
================
@@ -1173,25 +1276,52 @@ void DeclareImplicitDeductionGuidesForTypeAlias(
NewParam->setScopeInfo(0, I);
FPTL.setParam(I, NewParam);
}
- auto *Transformed = cast<FunctionDecl>(buildDeductionGuide(
- SemaRef, AliasTemplate, /*TemplateParams=*/nullptr,
+
+ QualType ReturnType =
+ cast<FunctionProtoType>(FunctionType->getType())->getReturnType();
+ if (FromInheritedCtor) {
+ FunctionType = buildInheritedConstructorDeductionGuideType(
+ SemaRef, *FromInheritedCtor, FunctionType);
+ if (!FunctionType)
+ continue;
+ ReturnType = FunctionType->getType()
+ .getTypePtr()
+ ->getAs<FunctionProtoType>()
+ ->getReturnType();
+ }
----------------
antangelo wrote:
I have moved the `ReturnType` logic into `buildInheritedConstructorDeductionGuideType` and now return a pair from that function.
https://github.com/llvm/llvm-project/pull/98788
More information about the cfe-commits
mailing list