================
@@ -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"
+    "|: could not convert '%1' from %2 to %3}0">;
----------------
mizvekov wrote:

Now the select is weird, as there is nothing besides it, so these are 
completely disjointed notes.
The first select option would produce an empty diagnostic, but it's not used 
anyway.

How about joining these diagnostics again, but take out the "for %ordinal0 
template parameter" part, and do that as separate note, using the 
NoteTemplateParameterLocation function?

https://github.com/llvm/llvm-project/pull/122754
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to