================
@@ -2060,14 +2064,17 @@ TemplateName 
TemplateInstantiator::TransformTemplateName(
         return Arg.getAsTemplate();
       }
 
-      auto [AssociatedDecl, Final] =
+      auto [AssociatedDecl, Final, ArgumentsAreInjectedTemplateParams] =
           TemplateArgs.getAssociatedDecl(TTP->getDepth());
       UnsignedOrNone PackIndex = std::nullopt;
       if (TTP->isParameterPack()) {
         assert(Arg.getKind() == TemplateArgument::Pack &&
                "Missing argument pack");
 
-        if (!getSema().ArgPackSubstIndex) {
+        if (ArgumentsAreInjectedTemplateParams)
+          Arg = getTemplateArgumentPackPatternForRewrite(Arg);
----------------
zyn0217 wrote:

maybe it needs a better name than `getTemplateArgumentPackPatternForRewrite` 
because it's extended to handle injected template arguments.

How about `getTemplateArgumentPackPattern`?

https://github.com/llvm/llvm-project/pull/139057
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to