[PATCH] D82485: Add tests for sequences of callbacks that RecursiveASTVisitor produces
Dmitri Gribenko via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 29 02:07:01 PDT 2020
gribozavr2 marked an inline comment as done.
gribozavr2 added inline comments.
================
Comment at: clang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp:117
+ recordDefaultImplementation(
+ __func__, [&, this]() { RecordingVisitorBase::WalkUpFromStmt(S); });
+ return true;
----------------
eduucaldas wrote:
> gribozavr2 wrote:
> > eduucaldas wrote:
> > > Do we need this `this`?
> > Yes, we're calling a method on `this` from the base class. `RecordingVisitorBase::WalkUpFromStmt(S);` is implicitly calling a member function, `this-> RecordingVisitorBase::WalkUpFromStmt(S);`.
> True! The `&` default captures `this` already, but a better suggestion would be to use the capture: `[S, this]` or perhaps to just use `S` as an argument of the lambda.
> That is a nitpick though, feel free to push the patch :)
> The & default captures this already
Oh indeed, thanks! I changed the capture list to `[&]` because I think it is not interesting what this closure captures exactly. It is not stored anywhere beyond the `recordCallback` call and invoked only once, so there are no lifetime concerns for variables captured by reference.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D82485/new/
https://reviews.llvm.org/D82485
More information about the cfe-commits
mailing list