malcolm.parsons added a comment. How do I add FixIt hints? They should be simple removals, but how do I decide whether to remove the following comma, preceding comma or preceding colon?
================ Comment at: clang-tidy/readability/RedundantMemberInitCheck.cpp:33 @@ +32,3 @@ + const auto *Init = Result.Nodes.getNodeAs<CXXCtorInitializer>("init"); + const auto *Construct = Result.Nodes.getNodeAs<CXXConstructExpr>("construct"); + const auto arguments = Construct->arguments(); ---------------- sbenza wrote: > These construct expressions might actually have side effects that you would > not get if you omit them. > For example, aggregates will be value initialized. If you remove it you > change the behavior. > > The tests should include defaulted vs non-defaulted default constructor, > user-defined/user-provided/implicit default constructor, aggregates with and > without trivially constructible members, etc. Yes, more tests needed. ================ Comment at: clang-tidy/readability/RedundantMemberInitCheck.cpp:39 @@ +38,3 @@ + + if (std::find_if(begin(arguments), end(arguments), [](const Expr *expr) { + return !expr->isDefaultArgument(); ---------------- sbenza wrote: > You want `std::none_of` instead of `std::find_if`. > (or use `std::any_of` and don't negate the expression in the lambda) Maybe I only need to check the first argument - if that's defaulted then they all are. ================ Comment at: docs/clang-tidy/checks/readability-redundant-member-init.rst:6 @@ +5,3 @@ + +Finds unnecessary member initializations. + ---------------- sbenza wrote: > Explain when they are unnecessary. "Finds member initializations that are unnecessary because the same default constructor would be called if they were not present" Repository: rL LLVM https://reviews.llvm.org/D24339 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits