[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