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

Reply via email to