This represents largely a full re-write of modernize-avoid-bind, adding significant new functionality in the process. In particular:
- Both boost::bind and std::bind are now supported
- Function objects are supported in addition to functions
- Member functions are supported
- Nested calls are supported using capture-init syntax
- std::ref() and boost::ref() are now recognized, and will capture by reference.
- Rather than capturing with a global =, we now build up an individual capture list that is both necessary and sufficient for the call.
- Fixits are supported in a much larger variety of scenarios than before.
All previous tests pass under the re-write, but a large number of new tests have been added as well.
I don't know who the best person to review this is, so I've put a couple of people on here. Feel free to re-direct if there's someone better.
You can remove some newlines here.