https://github.com/5chmidti commented:
I noticed a problem with your matcher, so I reviewed the rest of it while I was at it. The problem is that you do not consider a type-dependent `std::shared_ptr<T>` and the following test case fails: ```c++ template <typename T> void dependentType() { std::shared_ptr<T> p; T y = std::move(*p); // CHECK-FIXES: *std::move(p) } // CHECK-MESSAGES: :[[@LINE-3]]:11: warning: don't move the contents out of a shared pointer, as other accessors expect them to remain in a determinate state [bugprone-move-shared-pointer-contents] ``` In this case, your `callee` is no longer a `functionDecl` but an `unresolvedLookupExpr` and the `*` operator is a `UnaryOperator` instead of a `cxxOperatorCallExpr`. Otherwise, looks like a good check to have. https://github.com/llvm/llvm-project/pull/67467 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits