================ @@ -4870,14 +4870,17 @@ 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< - "candidate template ignored: invalid explicitly-specified argument " - "for template parameter %0">; + +def note_ovl_candidate_explicit_arg_mismatch : Note< + "candidate template ignored: invalid explicitly-specified argument" + "%select{" + "|: %select{non-type|type}1 argument %select{'%3'|%3}1 is not compatible with " + "%select{non-type|type}2 parameter %select{%5|%4}2" + "|: could not convert '%3' from %4 to %5" + "| for %ordinal6 template parameter}0">; ---------------- mizvekov wrote:
You don't need to talk about the parameter since we emit a separate note for it, that should make this diagnostic a bit simpler, as right now it's stretching it on complexity. If we are talking about argument / parameter kinds, it would make sense to talk about 'template' kind, besides non-type and type, otherwise some mismatches could happen between non-type kinds and that's a bit confusing. 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