Skip to content

Commit

Permalink
Fix deprecated this capture in folly/experimental/channels/detail/Uti…
Browse files Browse the repository at this point in the history
…lity.h

Summary:
In the future LLVM will require that lambdas capture `this` explicitly. `-Wdeprecated-this-capture` checks for and enforces this now.

This diff adds an explicit `this` capture to a lambda to fix an issue that presents similarly to this:
```
   -> fbcode/path/to/my_file.cpp:66:47: error: implicit capture of 'this' with a capture default of '=' is deprecated [-Werror,-
Wdeprecated-this-capture]
   ->           detail::createIOWorkerProvider(evb, requestsRegistry_);
   ->                                               ^
   -> fbcode/path/to/my_file.cpp:61:30: note: add an explicit capture of 'this' to capture '*this' by reference
   ->   evb->runInEventBaseThread([=, self_weak = std::move(self_weak)]() {
   ->                              ^
   ->                               , this
```

Reviewed By: meyering

Differential Revision: D52279233

fbshipit-source-id: 233d60917b64d111daa13d71b213d3af7370a6ee
  • Loading branch information
r-barnes authored and facebook-github-bot committed Dec 29, 2023
1 parent 4618e42 commit 88e79a2
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions folly/experimental/channels/detail/Utility.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ class SenderCancellationCallback : public IChannelCallback {
*/
void consume(ChannelBridgeBase*) override {
cancelSource_.requestCancellation();
executor_->add([=]() {
executor_->add([=, this]() {
CHECK(!callbackToFire_.second.isReady());
callbackToFire_.first.setValue(CallbackToFire::Consume);
});
Expand All @@ -183,7 +183,7 @@ class SenderCancellationCallback : public IChannelCallback {
*/
void canceled(ChannelBridgeBase*) override {
cancelSource_.requestCancellation();
executor_->add([=]() {
executor_->add([=, this]() {
CHECK(!callbackToFire_.second.isReady());
callbackToFire_.first.setValue(CallbackToFire::Canceled);
});
Expand Down

0 comments on commit 88e79a2

Please sign in to comment.