================ @@ -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