================ @@ -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