[clang] [Clang] prevent errors for deduction guides using deduced type aliases (PR #117450)

Younan Zhang via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 25 00:35:52 PST 2024


================
@@ -11451,7 +11451,11 @@ bool Sema::CheckDeductionGuideDeclarator(Declarator &D, QualType &R,
     bool MightInstantiateToSpecialization = false;
     if (auto RetTST =
             TSI->getTypeLoc().getAsAdjusted<TemplateSpecializationTypeLoc>()) {
-      TemplateName SpecifiedName = RetTST.getTypePtr()->getTemplateName();
+      const TemplateSpecializationType *TST = RetTST.getTypePtr();
+      while (TST->isTypeAlias())
+        TST = TST->getAliasedType()->getAs<TemplateSpecializationType>();
----------------
zyn0217 wrote:

What will happen if `->getAs<TemplateSpecializationType>()` returns null? We should ensure TST is always present

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


More information about the cfe-commits mailing list