[clang] [clang] fix P3310 overload resolution flag propagation (PR #125372)

via cfe-commits cfe-commits at lists.llvm.org
Sat Feb 1 22:03:46 PST 2025


================
@@ -1841,15 +1841,21 @@ class ClassTemplateSpecializationDecl : public CXXRecordDecl,
   LLVM_PREFERRED_TYPE(TemplateSpecializationKind)
   unsigned SpecializationKind : 3;
 
+  /// When matching the primary template, have we matched any packs on the
+  /// parameter side, versus any non-packs on the argument side, in a context
+  /// where the opposite matching is also allowed?
----------------
cor3ntin wrote:

```suggestion
  /// Indicate that we have matched a parameter pack with a non pack
  /// argument (strict matching)
  /// This needs to be cached as deduction is performed during declaration,
  /// and we need the information to be preserved so that it is consistent during instantiation
  ```
```

(Ideally we would have a wording reference. Alas)

https://github.com/llvm/llvm-project/pull/125372


More information about the cfe-commits mailing list