Skip to content

Commit abc8882

Browse files
committed
Address review comments.
1 parent 4af8e19 commit abc8882

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

clang/lib/Sema/SemaTemplateDeductionGuide.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -752,8 +752,12 @@ llvm::DenseSet<const NamedDecl *> getSourceDeductionGuides(DeclarationName Name,
752752
if (const auto *FTD = dyn_cast<FunctionTemplateDecl>(D))
753753
D = FTD->getTemplatedDecl();
754754

755-
if (const auto *GD = dyn_cast<CXXDeductionGuideDecl>(D))
755+
if (const auto *GD = dyn_cast<CXXDeductionGuideDecl>(D)) {
756+
assert(GD->getSourceDeductionGuide() &&
757+
"deduction guide for alias template must have a source deduction "
758+
"guide");
756759
Result.insert(GD->getSourceDeductionGuide());
760+
}
757761
}
758762
return Result;
759763
}
@@ -1209,14 +1213,14 @@ void DeclareImplicitDeductionGuidesForTypeAlias(
12091213
if (AliasTemplate->isInvalidDecl())
12101214
return;
12111215
auto &Context = SemaRef.Context;
1212-
auto SourceDeductionGuides = getSourceDeductionGuides(
1213-
Context.DeclarationNames.getCXXDeductionGuideName(AliasTemplate),
1214-
AliasTemplate->getDeclContext());
1215-
12161216
auto [Template, AliasRhsTemplateArgs] =
12171217
getRHSTemplateDeclAndArgs(SemaRef, AliasTemplate);
12181218
if (!Template)
12191219
return;
1220+
auto SourceDeductionGuides = getSourceDeductionGuides(
1221+
Context.DeclarationNames.getCXXDeductionGuideName(AliasTemplate),
1222+
AliasTemplate->getDeclContext());
1223+
12201224
DeclarationNameInfo NameInfo(
12211225
Context.DeclarationNames.getCXXDeductionGuideName(Template), Loc);
12221226
LookupResult Guides(SemaRef, NameInfo, clang::Sema::LookupOrdinaryName);

0 commit comments

Comments
 (0)