aaron.ballman added inline comments.
> UseTransparentFunctorsCheck.cpp:26 > + unless(hasAnyTemplateArgument(refersToType(voidType()))), > + hasAnyName("::std::plus", "::std::minus", "::std::multiplies", > + "::std::divides", "::std::modulus", "::std::negate", Should we make this a configurable list that users can add to? > UseTransparentFunctorsCheck.cpp:61 > + Result.Nodes.getNodeAs<CXXConstructExpr>("FuncInst")) { > + diag(FuncInst->getLocStart(), "prefer transparent functors"); > + return; This diagnostic is too terse; anyone that is unaware of what a transparent functor is will likely be stumped by it, especially since there is no fixit. Since this is the case where we cannot be sure that a transparent functor is the correct solution, should this be enabled via an option (default on)? > UseTransparentFunctorsCheck.cpp:93 > + > + diag(ReportLoc, "prefer transparent functors") > + << > FixItHint::CreateRemoval(FunctorTypeLoc.getArgLoc(0).getSourceRange()); This diagnostic could stand to be less terse as well, IMO. The fixit helps though. > modernize-use-transparent-functors.rst:6 > + > +Prefer transparent functors to non-transparent ones. Using transparent > functors > +the type does not need to be repeated. The code is easier to read, maintain > and Using transparent functors the -> When using transparent functors, the Repository: rL LLVM https://reviews.llvm.org/D24894 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits