[clang] [clang] NFC: remove unused / untested workaround in pack deduction (PR #183875)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Feb 28 06:31:08 PST 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Matheus Izvekov (mizvekov)
<details>
<summary>Changes</summary>
This snippet was part of what was introduced in 130cc445e46836b28defdce03b1adfdb16ddcf41
However, none of the existing tests require it, including the tests added in that commit.
One of those tests had a FIXME which was fixed when we switched frelaxed-template-template-args on by default as well.
---
Full diff: https://github.com/llvm/llvm-project/pull/183875.diff
1 Files Affected:
- (modified) clang/lib/Sema/SemaTemplateDeduction.cpp (-10)
``````````diff
diff --git a/clang/lib/Sema/SemaTemplateDeduction.cpp b/clang/lib/Sema/SemaTemplateDeduction.cpp
index 03040d2ffec7d..40892f232e603 100644
--- a/clang/lib/Sema/SemaTemplateDeduction.cpp
+++ b/clang/lib/Sema/SemaTemplateDeduction.cpp
@@ -1003,16 +1003,6 @@ class PackDeductionScope {
if (PartialPackDepthIndex ==
std::make_pair(Info.getDeducedDepth(), Pack.Index)) {
Pack.New.append(PartialPackArgs, PartialPackArgs + NumPartialPackArgs);
- // We pre-populate the deduced value of the partially-substituted
- // pack with the specified value. This is not entirely correct: the
- // value is supposed to have been substituted, not deduced, but the
- // cases where this is observable require an exact type match anyway.
- //
- // FIXME: If we could represent a "depth i, index j, pack elem k"
- // parameter, we could substitute the partially-substituted pack
- // everywhere and avoid this.
- if (!FinishingDeduction && !IsPartiallyExpanded)
- Deduced[Pack.Index] = Pack.New[PackElements];
}
}
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/183875
More information about the cfe-commits
mailing list