[clang] [Clang][RFC] Do not eat SFINAE diagnostics for explicit template arguments (PR #139066)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Thu May 8 06:15:08 PDT 2025


================
@@ -12166,6 +12174,15 @@ static void DiagnoseBadDeduction(Sema &S, NamedDecl *Found, Decl *Templated,
              diag::note_ovl_candidate_explicit_arg_mismatch_unnamed)
           << (index + 1);
     }
+
+    if (PartialDiagnosticAt *PDiag = DeductionFailure.getSFINAEDiagnostic()) {
+      unsigned DiagID =
----------------
erichkeane wrote:

Why are you going through all this work to emit the string that is already in the partial diagnostic?  ALSO, why not use the location in the Partial Diagnostic?

You should be able to do:

`S.Diag(PDiag.first, PDiag.second)`.



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


More information about the cfe-commits mailing list