[clang-tools-extra] [clang-tidy] bugprone-assert-side-effect non-const operator methods (PR #71974)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Nov 13 13:02:27 PST 2023
================
@@ -41,6 +41,10 @@ AST_MATCHER_P2(Expr, hasSideEffect, bool, CheckFunctionCalls,
}
if (const auto *OpCallExpr = dyn_cast<CXXOperatorCallExpr>(E)) {
+ if (const auto *FuncDecl = OpCallExpr->getDirectCallee())
+ if (const auto *MethodDecl = dyn_cast<CXXMethodDecl>(FuncDecl))
+ return !MethodDecl->isConst();
----------------
schenker wrote:
Reporting all non const operator calls would not be feasible, because e.g. the `->` operator of `std::optional` is not const but is side-effect free.
https://github.com/llvm/llvm-project/pull/71974
More information about the cfe-commits
mailing list