[Clang-tidy]: Fix modernize-avoid-bind erroneous scope resolution.
authorHaojian Wu <hokein@google.com>
Thu, 20 Oct 2016 11:32:47 +0000 (11:32 +0000)
committerHaojian Wu <hokein@google.com>
Thu, 20 Oct 2016 11:32:47 +0000 (11:32 +0000)
commit157e46dd45e7833d0fe765d26ed4993619bc05b3
tree74efd3d51a93c2f19072707ec6c6b41301eae47f
parent3d0266b66446dd1cd0a9d843dd8cd20954e9b980
[Clang-tidy]: Fix modernize-avoid-bind erroneous scope resolution.

Hello, i would like to suggest a fix for one of the checks in clang-tidy and i should hope this one is the correct mailing list.
The check is modernize-avoid-bind.

Consider the following:

  void bar(int x, int y);

  namespace N {
    void bar(int x, int y);
  }

  void foo(){
    auto Test = std::bind(N::bar,1,1);
  }

clang-tidy’s modernize-avoid-bind check suggests writing:

  void foo(){
    auto Test =[] {return bar(1,1);};
  }

instead of:

  void foo(){
    auto Test = [] {return N::bar(1,1);};
  }

So clang-tidy has proposed an incorrect Fix.

Patch by IdrissRio!

Reviewers: alexfh, hokein, aaron.ballman

Subscriber: cfe-commits
llvm-svn: 284719
clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
clang-tools-extra/test/clang-tidy/modernize-avoid-bind.cpp