|
|
Chromium Code Reviews|
Created:
4 years, 3 months ago by tzik Modified:
4 years, 3 months ago Reviewers:
Yuta Kitamura CC:
chromium-reviews Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionSupport rvalue-reference IgnoreResult in base::Bind impl
When an IgnoreResult is passed as a rvalue-reference, Bind impl has passed
the target functor as a lvalue-reference. That causes a compile failure
when the target functor can be run via rvalue-reference only.
This CL changes IgnoreResult handling in base::Bind impl, so that it
uses rvalue-reference functor when IgnoreResult itself is passed as
a rvalue-reference.
BUG=554299
Committed: https://crrev.com/ff54a5b153e0541491ef563d228bdfaf10190119
Cr-Commit-Position: refs/heads/master@{#415613}
Patch Set 1 #
Total comments: 2
Messages
Total messages: 17 (10 generated)
The CQ bit was checked by tzik@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Support rvalue-reference IgnoreResult in base::Bind impl BUG= ========== to ========== Support rvalue-reference IgnoreResult in base::Bind impl BUG=554299 ==========
tzik@chromium.org changed reviewers: + yutak@chromium.org
PTAL
https://codereview.chromium.org/2298133003/diff/1/base/bind_internal.h File base/bind_internal.h (right): https://codereview.chromium.org/2298133003/diff/1/base/bind_internal.h#newcod... base/bind_internal.h:248: std::forward<IgnoreResultType>(ignore_result_helper).functor_, Just to be sure: this change tries to make this argument an rvalue when |ignore_result_helper| is an rvalue, right?
Description was changed from ========== Support rvalue-reference IgnoreResult in base::Bind impl BUG=554299 ========== to ========== Support rvalue-reference IgnoreResult in base::Bind impl When an IgnoreResult is passed as a rvalue-reference, Bind impl has passed the target functor as a lvalue-reference. That causes a compile failure when the target functor can be run via rvalue-reference only. This CL changes IgnoreResult handling in base::Bind impl, so that it uses rvalue-reference functor when IgnoreResult itself is passed as a rvalue-reference. BUG=554299 ==========
https://codereview.chromium.org/2298133003/diff/1/base/bind_internal.h File base/bind_internal.h (right): https://codereview.chromium.org/2298133003/diff/1/base/bind_internal.h#newcod... base/bind_internal.h:248: std::forward<IgnoreResultType>(ignore_result_helper).functor_, On 2016/08/31 09:38:21, Yuta Kitamura wrote: > Just to be sure: this change tries to make this argument an rvalue > when |ignore_result_helper| is an rvalue, right? Right. Updated the description for this.
OK, LGTM.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_x86-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_x86-ge...) linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by tzik@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Support rvalue-reference IgnoreResult in base::Bind impl When an IgnoreResult is passed as a rvalue-reference, Bind impl has passed the target functor as a lvalue-reference. That causes a compile failure when the target functor can be run via rvalue-reference only. This CL changes IgnoreResult handling in base::Bind impl, so that it uses rvalue-reference functor when IgnoreResult itself is passed as a rvalue-reference. BUG=554299 ========== to ========== Support rvalue-reference IgnoreResult in base::Bind impl When an IgnoreResult is passed as a rvalue-reference, Bind impl has passed the target functor as a lvalue-reference. That causes a compile failure when the target functor can be run via rvalue-reference only. This CL changes IgnoreResult handling in base::Bind impl, so that it uses rvalue-reference functor when IgnoreResult itself is passed as a rvalue-reference. BUG=554299 ==========
Message was sent while issue was closed.
Committed patchset #1 (id:1)
Message was sent while issue was closed.
Description was changed from ========== Support rvalue-reference IgnoreResult in base::Bind impl When an IgnoreResult is passed as a rvalue-reference, Bind impl has passed the target functor as a lvalue-reference. That causes a compile failure when the target functor can be run via rvalue-reference only. This CL changes IgnoreResult handling in base::Bind impl, so that it uses rvalue-reference functor when IgnoreResult itself is passed as a rvalue-reference. BUG=554299 ========== to ========== Support rvalue-reference IgnoreResult in base::Bind impl When an IgnoreResult is passed as a rvalue-reference, Bind impl has passed the target functor as a lvalue-reference. That causes a compile failure when the target functor can be run via rvalue-reference only. This CL changes IgnoreResult handling in base::Bind impl, so that it uses rvalue-reference functor when IgnoreResult itself is passed as a rvalue-reference. BUG=554299 Committed: https://crrev.com/ff54a5b153e0541491ef563d228bdfaf10190119 Cr-Commit-Position: refs/heads/master@{#415613} ==========
Message was sent while issue was closed.
Patchset 1 (id:??) landed as https://crrev.com/ff54a5b153e0541491ef563d228bdfaf10190119 Cr-Commit-Position: refs/heads/master@{#415613} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
