================
@@ -4821,6 +4821,11 @@ TemplateDeductionResult Sema::DeduceTemplateArguments(
/*OriginalCallArgs=*/nullptr, /*PartialOverloading=*/false,
/*PartialOrdering=*/true, IsAddressOfFunction);
});
+ // [temp.deduct.funcaddr] uses the function template's function type when
----------------
yxsamliu wrote:
Done. I reformatted the comment to quote the standard prose directly, in the
usual `C++ [section]pN:` block-quote style. It now quotes
[temp.deduct.funcaddr]p1 for why the function type is substituted,
[temp.deduct.general]p7 for substitution into expressions like the return type,
[dcl.fct.def.delete]p2 for why designating a deleted function is ill-formed,
and [temp.deduct.general]p8 for why an invalid expression in the immediate
context is a deduction failure rather than a hard error. That last quote is
what justifies returning SubstitutionFailure here.
https://github.com/llvm/llvm-project/pull/208062
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits