[clang] [clang] Implement CTAD for type alias template. (PR #77890)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 26 11:07:41 PST 2024
================
@@ -10598,10 +10598,36 @@ QualType Sema::DeduceTemplateSpecializationFromInitializer(
if (TemplateName.isDependent())
return SubstAutoTypeDependent(TSInfo->getType());
- // We can only perform deduction for class templates.
+ // We can only perform deduction for class templates or alias templates.
auto *Template =
dyn_cast_or_null<ClassTemplateDecl>(TemplateName.getAsTemplateDecl());
+ TemplateDecl* LookupTemplateDecl = Template;
+ if (!Template && getLangOpts().CPlusPlus20) { // type alias template
+ if (auto *AliasTemplate = dyn_cast_or_null<TypeAliasTemplateDecl>(
----------------
erichkeane wrote:
Whats the point of using the initializer to just go and test against AliasTemplate? The semi-colon and everything after is not needed, right?
https://github.com/llvm/llvm-project/pull/77890
More information about the cfe-commits
mailing list