[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 25 01:32:04 PST 2024
================
@@ -4371,6 +4397,41 @@ Sema::TemplateDeductionResult Sema::DeduceTemplateArguments(
// corresponding argument is a list?
PackScope.nextPackElement();
}
+ } else if (!IsTrailingPack && !PackScope.isPartiallyExpanded() &&
+ PackScope.isDeducedFromEarlierParameter() &&
+ !isa<PackExpansionType>(ParamTypes[ParamIdx + 1])) {
+ // [temp.deduct.general#3]
+ // When all template arguments have been deduced
+ // or obtained from default template arguments, all uses of template
+ // parameters in the template parameter list of the template are
+ // replaced with the corresponding deduced or default argument values
+ //
+ // If we have a trailing parameter pack, that has been deduced
+ // perviously we substitute the pack here in a similar fashion as seen
----------------
cor3ntin wrote:
```suggestion
// previously we substitute the pack here in a similar fashion as seen
```
https://github.com/llvm/llvm-project/pull/79371
More information about the cfe-commits
mailing list