[clang] [Clang][Sema] Avoid crash in overload diagnostics for invalid static deducing-this (PR #177783)

Luohao Wang via cfe-commits cfe-commits at lists.llvm.org
Sun Jan 25 06:17:08 PST 2026


================
@@ -11874,7 +11874,7 @@ static void DiagnoseBadConversion(Sema &S, OverloadCandidate *Cand,
       !isa<CXXConstructorDecl>(Fn)) {
     if (I == 0)
       isObjectArgument = true;
-    else if (!Fn->hasCXXExplicitFunctionObjectParameter())
+    else if (!cast<CXXMethodDecl>(Fn)->isExplicitObjectMemberFunction())
----------------
Luohaothu wrote:

As the outer `if` states, this block handles the case where `Fn` is a CXXMethodDecl. Therefore, I think a cast is approprate.

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


More information about the cfe-commits mailing list