[clang-tools-extra] [clang-tidy] Improve performance-use-std-move in presence of control-flow (PR #184136)

via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 2 17:46:09 PST 2026


================
@@ -22,8 +22,13 @@ using namespace clang::ast_matchers;
 namespace clang::tidy::performance {
 
 namespace {
-AST_MATCHER(CXXRecordDecl, hasNonTrivialMoveAssignment) {
-  return Node.hasNonTrivialMoveAssignment();
+AST_MATCHER(CXXRecordDecl, hasAccessibleNonTrivialMoveAssignment) {
+  if (!Node.hasNonTrivialMoveAssignment())
+    return false;
+  for (const auto *CM : Node.methods())
+    if (CM->isMoveAssignmentOperator())
+      return !CM->isDeleted() && CM->getAccess() == AS_public;
+  llvm_unreachable("Move Assignment Operaotr Not Found");
----------------
zeyi2 wrote:

nit: Typo?

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


More information about the cfe-commits mailing list