[clang-tools-extra] [clang-tidy][modernize-return-braced-init-list]fix false-positives (PR #68491)
Piotr Zegar via cfe-commits
cfe-commits at lists.llvm.org
Sat Oct 7 10:38:58 PDT 2023
================
@@ -17,11 +17,21 @@ using namespace clang::ast_matchers;
namespace clang::tidy::modernize {
void ReturnBracedInitListCheck::registerMatchers(MatchFinder *Finder) {
- // Skip list initialization and constructors with an initializer list.
+ auto SemanticallyDifferentContainer = allOf(
+ argumentCountIs(2), hasArgument(0, hasType(isInteger())),
----------------
PiotrZSL wrote:
One more problem here, this check uses TK_IgnoreUnlessSpelledInSource, so if first argument wont be integer but some class that got conversion operator to integer, then with hasArgument you will see here actually that class.
This is a reason why I suggest to check constructor parameter instead of argument type.
Simply do: ```hasDeclaration(cxxConstructorDecl(unless(parameterCountIs(0)), hasParameter(0, hasType(...))))```
https://github.com/llvm/llvm-project/pull/68491
More information about the cfe-commits
mailing list