mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-13 11:22:03 +00:00
95a3550dc8
In the process of running this check on a large codebase I found a number of limitations, and thought I would pass on my fixes for possible integration upstream: * Templated function call operators are not supported * Function object constructors are always used directly in the lambda body, even if their arguments are not captured * Placeholders with namespace qualifiers (std::placeholders::_1) are not detected * Lambda arguments should be forwarded to the stored function * Data members from other classes still get captured with this * Expressions (as opposed to variables) inside std::ref are not captured properly * Function object templates sometimes have their template arguments replaced with concrete types This patch resolves all those issues and adds suitable unit tests.