You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the code below, the function g uses the STL, while the function h uses HPX. g compiles fine, but h does not. This is with Clang 3.4.2, using GCC 4.9.0's STL, and using Boost 1.55, running on OS X.
#include <future>
#include <hpx/hpx.hpp>
struct s {
int f() const;
};
struct p {
s *x;
s &operator*() const { return *x; }
};
std::future<int> g(p x) { return std::async(&s::f, x); }
hpx::future<int> h(p x) { return hpx::async(&s::f, x); }
The relevant part of the error message is
async.cc:15:34: error: no matching function for call to 'async'
hpx::future<int> h(p x) { return hpx::async(&s::f, x); }
/Users/eschnett/SIMFACTORY/hpx-master/install/include/hpx/preprocessed/async_5.hpp:148:5: note:
candidate template ignored: substitution failure [with F = int (s::*)()
const, A0 = p &]: no type named 'type' in 'boost::lazy_enable_if_c<false,
hpx::detail::create_future<int (s::*(p &))() const, int> >'
async(F && f, A0 && a0)
^
In the code below, the function g uses the STL, while the function h uses HPX. g compiles fine, but h does not. This is with Clang 3.4.2, using GCC 4.9.0's STL, and using Boost 1.55, running on OS X.
The relevant part of the error message is
The respective async declaration in HPX is:
It appears that traits::detail::is_callable_not_action is returning false, which is wrong.
The text was updated successfully, but these errors were encountered: