Index: lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp =================================================================== --- lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp +++ lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp @@ -450,7 +450,7 @@ // where it may not. (cplusplus.SelfAssignmentChecker) if (const auto *MD = dyn_cast(D)) { if (MD->isCopyAssignmentOperator() || MD->isMoveAssignmentOperator()) - return false; + return !MD->isUserProvided(); } // Otherwise, if we visited the function before, do not reanalyze it.