================
@@ -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 =
----------------
zyn0217 wrote:

Note that I managed to merge the additional notes into the previous `invalid 
explicitly-specified argument for 1st template parameter`, so the notes will 
look like

```cpp
test.cpp:4:3: error: no matching function for call to 'f'
    4 |   f<42>();
      |   ^~~~~
test.cpp:2:6: note: candidate template ignored: value of type 'int' is not 
implicitly convertible to 'int *' for 1st template parameter
    2 | void f();
      |      ^
1 error generated.
```

and it won't rely on the custom diagnostic id hack.

https://github.com/llvm/llvm-project/pull/139066
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to