New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unwrapped doesn't work with movable only types. #1404

Closed
sithhell opened this Issue Mar 10, 2015 · 0 comments

Comments

Projects
None yet
3 participants
@sithhell
Member

sithhell commented Mar 10, 2015

unwrapped currently fails to compile for futures containing a movable only type due to the use of boost::fusion::fold. For example:

#include <hpx/hpx.hpp>
#include <hpx/lcos/future.hpp>
#include <hpx/util/unwrapped.hpp>

#include <utility>

struct movable_only
{
    movable_only() {}

    movable_only(movable_only const&) = delete;
    movable_only& operator= (movable_only const&) = delete;
};

int main()
{
    hpx::future<movable_only> f = hpx::make_ready_future(movable_only());
    hpx::util::unwrapped([](movable_only) {})(std::move(f));
}

@sithhell sithhell added this to the 0.9.11 milestone Mar 10, 2015

@hkaiser hkaiser modified the milestones: 0.9.11, 0.9.12 Nov 12, 2015

@hkaiser hkaiser modified the milestones: 0.9.99, 1.0.0 Jun 27, 2016

@hkaiser hkaiser modified the milestones: 1.0.0, 1.1.0 Apr 23, 2017

Naios added a commit to Naios/hpx that referenced this issue Jul 24, 2017

Deprecate hpx::util::unwrapped
* Use hpx::util::unwrap and hpx::util::unwrapping instead,
  that clearify which underlying implementation should
  be used (the immediate or the deferred one).
  The automatic implementation selection was broken since
  unwrapped allowed to pass non future arguments through.
* Closes STEllAR-GROUP#1400
* Closes STEllAR-GROUP#1404
* Closes STEllAR-GROUP#2456
* Ref STEllAR-GROUP#1126
* Ref STEllAR-GROUP#1132

Naios added a commit to Naios/hpx that referenced this issue Jul 24, 2017

Deprecate hpx::util::unwrapped
* Use hpx::util::unwrap and hpx::util::unwrapping instead,
  that clearify which underlying implementation should
  be used (the immediate or the deferred one).
  The automatic implementation selection was broken since
  unwrapped allowed to pass non future arguments through.
* Closes STEllAR-GROUP#1400
* Closes STEllAR-GROUP#1404
* Closes STEllAR-GROUP#2456
* Ref STEllAR-GROUP#1126
* Ref STEllAR-GROUP#1132

Naios added a commit to Naios/hpx that referenced this issue Jul 25, 2017

Deprecate hpx::util::unwrapped
* Use hpx::util::unwrap and hpx::util::unwrapping instead,
  that clearify which underlying implementation should
  be used (the immediate or the deferred one).
  The automatic implementation selection was broken since
  unwrapped allowed to pass non future arguments through.
* Closes STEllAR-GROUP#1400
* Closes STEllAR-GROUP#1404
* Closes STEllAR-GROUP#2456
* Ref STEllAR-GROUP#1126
* Ref STEllAR-GROUP#1132

Naios added a commit to Naios/hpx that referenced this issue Jul 25, 2017

Deprecate hpx::util::unwrapped
* Use hpx::util::unwrap and hpx::util::unwrapping instead,
  that clearify which underlying implementation should
  be used (the immediate or the deferred one).
  The automatic implementation selection was broken since
  unwrapped allowed to pass non future arguments through.
* Closes STEllAR-GROUP#1400
* Closes STEllAR-GROUP#1404
* Closes STEllAR-GROUP#2456
* Ref STEllAR-GROUP#1126
* Ref STEllAR-GROUP#1132

Naios added a commit to Naios/hpx that referenced this issue Jul 25, 2017

Deprecate hpx::util::unwrapped
* Use hpx::util::unwrap and hpx::util::unwrapping instead,
  that clearify which underlying implementation should
  be used (the immediate or the deferred one).
  The automatic implementation selection was broken since
  unwrapped allowed to pass non future arguments through.
* Closes STEllAR-GROUP#1400
* Closes STEllAR-GROUP#1404
* Closes STEllAR-GROUP#2456
* Ref STEllAR-GROUP#1126
* Ref STEllAR-GROUP#1132

@hkaiser hkaiser closed this in 5982cf2 Jul 28, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment