================
@@ -6470,6 +6470,12 @@ static ExprResult BuildConvertedConstantExpression(Sema
&S, Expr *From,
S.Diag(From->getBeginLoc(), diag::ext_cce_narrowing)
<< CCE << /*Constant*/ 1
<< PreNarrowingValue.getAsString(S.Context, PreNarrowingType) << T;
+ // If this is an SFINAE Context, treat the result as invalid so it stops
+ // substitution at this point, respecting C++26 [temp.deduct.general]p7.
----------------
mizvekov wrote:
That is a giant paragraph with multiple bullets, and the only relevant part is
"The substitution proceeds in lexical order and stops when a condition that
causes deduction to fail is encountered".
But that seems well explained enough by the comment?
https://github.com/llvm/llvm-project/pull/183614
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits