[clang] [clang] Migrate away from PointerUnion::dyn_cast (NFC) (PR #225319)

Nikita Popov via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 22 00:55:36 PDT 2026


================
@@ -12448,9 +12448,9 @@ static void DiagnoseBadDeduction(Sema &S, NamedDecl *Found, Decl *Templated,
                                      TemplateSpecCandidateSetKind::Normal) {
   TemplateParameter Param = DeductionFailure.getTemplateParameter();
   NamedDecl *ParamD;
-  (ParamD = Param.dyn_cast<TemplateTypeParmDecl*>()) ||
-  (ParamD = Param.dyn_cast<NonTypeTemplateParmDecl*>()) ||
-  (ParamD = Param.dyn_cast<TemplateTemplateParmDecl*>());
+  (ParamD = dyn_cast_if_present<TemplateTypeParmDecl *>(Param)) ||
+      (ParamD = dyn_cast_if_present<NonTypeTemplateParmDecl *>(Param)) ||
+      (ParamD = dyn_cast_if_present<TemplateTemplateParmDecl *>(Param));
----------------
nikic wrote:

While you are here, I would rewrite this weird pattern as a sequences of `if (!ParamD) ...`

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


More information about the cfe-commits mailing list