[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:48:38 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:

#2 makes sense to me.

For #1: It seems to me that a way to 'downgrade' a diagnostic to a note is a better solution here.  I dont' really know what that looks like and might require a bit of a trip through the DiagnosticsEngine (@aaronballman for visibility), but I would vastly prefer that.

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


More information about the cfe-commits mailing list