[clang] [clang][Sema] Improve template argument deduction diagnostic (PR #122754)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 5 11:53:01 PST 2025


================
@@ -4870,14 +4870,16 @@ def note_ovl_candidate_inconsistent_deduction_types : Note<
     "candidate template ignored: deduced values %diff{"
     "of conflicting types for parameter %0 (%1 of type $ vs. %3 of type $)|"
     "%1 and %3 of conflicting types for parameter %0}2,4">;
-def note_ovl_candidate_explicit_arg_mismatch_named : Note<
+def note_ovl_candidate_explicit_arg_mismatch : Note<
     "candidate template ignored: invalid explicitly-specified argument "
-    "for template parameter %0">;
+    "for %ordinal0 template parameter">;
+def note_ovl_candidate_explicit_arg_mismatch_detail : Note<
+    "%select{"
+    "|: expected a type, but got value '%1'"
+    "|: expected constant of type %3 but got type %1"
----------------
erichkeane wrote:

`__cplusplus` isn't right here, that is a check against the compiler being used to compile clang, right?  What we want is `getLangOpts().CPlusPlus17`

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


More information about the cfe-commits mailing list