Skip to content

Instantly share code, notes, and snippets.

@gonidelis
Created June 29, 2020 19:36
Show Gist options
  • Save gonidelis/b90424fa9f23ca9ffc3aa3a06c206cc4 to your computer and use it in GitHub Desktop.
Save gonidelis/b90424fa9f23ca9ffc3aa3a06c206cc4 to your computer and use it in GitHub Desktop.
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/util/detail/algorithm_result.hpp: In instantiation of ‘static hpx::parallel::util::detail::algorithm_result_impl<ExPolicy, T>::type hpx::parallel::util::detail::algorithm_result_impl<ExPolicy, T>::get(T_&&) [with T_ = Sentinel<long int>; ExPolicy = hpx::parallel::execution::sequenced_policy; T = Iterator<long int>; hpx::parallel::util::detail::algorithm_result_impl<ExPolicy, T>::type = Iterator<long int>]’:
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/algorithms/for_each.hpp:427:35: required from ‘typename hpx::parallel::util::detail::algorithm_result<ExPolicy, T>::type hpx::parallel::v1::detail::for_each_(ExPolicy&&, FwdIterB, FwdIterE, F&&, Proj&&, std::false_type) [with ExPolicy = const hpx::parallel::execution::sequenced_policy&; FwdIterB = Iterator<long int>; FwdIterE = Sentinel<long int>; F = void (&)(int); Proj = hpx::parallel::util::projection_identity; typename hpx::parallel::util::detail::algorithm_result<ExPolicy, T>::type = Iterator<long int>; std::false_type = std::integral_constant<bool, false>]’
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/algorithms/for_each.hpp:534:33: required from ‘typename hpx::parallel::util::detail::algorithm_result<ExPolicy, T>::type hpx::parallel::v1::for_each(ExPolicy&&, FwdIterB, FwdIterE, F&&, Proj&&) [with ExPolicy = const hpx::parallel::execution::sequenced_policy&; FwdIterB = Iterator<long int>; FwdIterE = Sentinel<long int>; F = void (&)(int); Proj = hpx::parallel::util::projection_identity; int _concept_requires_515 = 42; typename std::enable_if<((_concept_requires_515 == 43) || (((hpx::parallel::execution::is_execution_policy<T>::value && hpx::traits::is_iterator<Iter>::value) && hpx::traits::is_sentinel_for<FwdIterE, FwdIterB>::value) && hpx::parallel::traits::is_projected<Proj, FwdIter>::value)), int>::type _concept_check_515 = 0; int _concept_requires_521 = 42; typename std::enable_if<((_concept_requires_521 == 43) || hpx::parallel::traits::is_indirect_callable<ExPolicy, F, hpx::parallel::traits::projected<Proj, FwdIter> >::value), int>::type _concept_check_521 = 0; typename hpx::parallel::util::detail::algorithm_result<ExPolicy, T>::type = Iterator<long int>]’
/home/giannis/foreach_adapt/libs/algorithms/tests/unit/container_algorithms/foreach_adapt.cpp:27:71: required from here
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/util/detail/algorithm_result.hpp:36:38: error: could not convert ‘std::forward<Sentinel<long int> >((* & t))’ from ‘Sentinel<long int>’ to ‘hpx::parallel::util::detail::algorithm_result_impl<hpx::parallel::execution::sequenced_policy, Iterator<long int> >::type’ {aka ‘Iterator<long int>’}
36 | return std::forward<T_>(t);
| ^
| |
| Sentinel<long int>
In file included from /home/giannis/foreach_adapt/libs/include/include/hpx/include/parallel_for_each.hpp:10,
from /home/giannis/foreach_adapt/libs/algorithms/tests/unit/container_algorithms/foreach_adapt.cpp:2:
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/algorithms/for_each.hpp: In instantiation of ‘static typename std::enable_if<(! hpx::traits::is_random_access_iterator<InIterB>::value), InIterB>::type hpx::parallel::v1::detail::for_each<Iter>::sequential(ExPolicy&&, InIterB, InIterE, F&&, Proj&&) [with ExPolicy = const hpx::parallel::execution::sequenced_policy&; InIterB = Iterator<long int>; InIterE = Sentinel<long int>; F = void (&)(int); Proj = hpx::parallel::util::projection_identity; Iter = Iterator<long int>; typename std::enable_if<(! hpx::traits::is_random_access_iterator<InIterB>::value), InIterB>::type = Iterator<long int>]’:
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/algorithms/detail/dispatch.hpp:108:44: required from ‘typename hpx::parallel::util::detail::algorithm_result<ExPolicy, typename hpx::parallel::v1::detail::local_algorithm_result<Result>::type>::type hpx::parallel::v1::detail::algorithm<Derived, Result>::operator()(ExPolicy&&, Args&& ...) const [with ExPolicy = const hpx::parallel::execution::sequenced_policy&; Args = {Iterator<long int>&, Sentinel<long int>&, void (&)(int), hpx::parallel::util::projection_identity}; Derived = hpx::parallel::v1::detail::for_each<Iterator<long int> >; Result = Iterator<long int>; typename hpx::parallel::util::detail::algorithm_result<ExPolicy, typename hpx::parallel::v1::detail::local_algorithm_result<Result>::type>::type = Iterator<long int>]’
/home/giannis/foreach_adapt/libs/functional/include/hpx/functional/invoke.hpp:135:16: required from ‘constexpr typename hpx::util::invoke_result<F, Ts>::type hpx::util::invoke(F&&, Ts&& ...) [with F = const hpx::parallel::v1::detail::for_each<Iterator<long int> >&; Ts = {const hpx::parallel::execution::sequenced_policy&, Iterator<long int>&, Sentinel<long int>&, void (&)(int), hpx::parallel::util::projection_identity}; typename hpx::util::invoke_result<F, Ts>::type = Iterator<long int>]’
/home/giannis/foreach_adapt/libs/execution/include/hpx/execution/detail/sync_launch_policy_dispatch.hpp:73:41: required from ‘static typename hpx::util::detail::invoke_deferred_result<F, Ts ...>::type hpx::detail::sync_launch_policy_dispatch<Action, typename std::enable_if<(! hpx::traits::is_action<F>::value)>::type>::call(hpx::launch::sync_policy, F&&, Ts&& ...) [with F = const hpx::parallel::v1::detail::for_each<Iterator<long int> >&; Ts = {const hpx::parallel::execution::sequenced_policy&, Iterator<long int>&, Sentinel<long int>&, void (&)(int), hpx::parallel::util::projection_identity}; Action = hpx::detail::sync_policy; typename hpx::util::detail::invoke_deferred_result<F, Ts ...>::type = Iterator<long int>; hpx::launch::sync_policy = hpx::detail::sync_policy]’
/home/giannis/foreach_adapt/libs/executors/include/hpx/executors/sequenced_executor.hpp:63:43: required from ‘static typename hpx::util::detail::invoke_deferred_result<F, Ts>::type hpx::parallel::execution::sequenced_executor::sync_execute(F&&, Ts&& ...) [with F = const hpx::parallel::v1::detail::for_each<Iterator<long int> >&; Ts = {const hpx::parallel::execution::sequenced_policy&, Iterator<long int>&, Sentinel<long int>&, void (&)(int), hpx::parallel::util::projection_identity}; typename hpx::util::detail::invoke_deferred_result<F, Ts>::type = Iterator<long int>]’
/home/giannis/foreach_adapt/libs/execution/include/hpx/execution/executors/execution.hpp:357:64: required from ‘static decltype (exec.sync_execute(forward<F>(f), (forward<Ts>)(hpx::parallel::execution::detail::sync_execute_fn_helper<Executor, typename std::enable_if<hpx::traits::is_two_way_executor<T, void>::value, void>::type>::call_impl::ts)...)) hpx::parallel::execution::detail::sync_execute_fn_helper<Executor, typename std::enable_if<hpx::traits::is_two_way_executor<T>::value>::type>::call_impl(int, TwoWayExecutor&&, F&&, Ts&& ...) [with TwoWayExecutor = const hpx::parallel::execution::sequenced_executor&; F = const hpx::parallel::v1::detail::for_each<Iterator<long int> >&; Ts = {const hpx::parallel::execution::sequenced_policy&, Iterator<long int>&, Sentinel<long int>&, void (&)(int), hpx::parallel::util::projection_identity}; Executor = hpx::parallel::execution::sequenced_executor; decltype (exec.sync_execute(forward<F>(f), (forward<Ts>)(hpx::parallel::execution::detail::sync_execute_fn_helper<Executor, typename std::enable_if<hpx::traits::is_two_way_executor<T, void>::value, void>::type>::call_impl::ts)...)) = Iterator<long int>]’
/home/giannis/foreach_adapt/libs/execution/include/hpx/execution/executors/execution.hpp:366:33: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/giannis/foreach_adapt/libs/execution_base/include/hpx/execution_base/execution.hpp:268:36: required from ‘decltype (hpx::parallel::execution::detail::sync_execute(forward<Executor>(exec), forward<F>(f), (forward<Ts>)(hpx::parallel::execution::detail::customization_point<hpx::parallel::execution::detail::sync_execute_tag>::operator()::ts)...)) hpx::parallel::execution::detail::customization_point<hpx::parallel::execution::detail::sync_execute_tag>::operator()(Executor&&, F&&, Ts&& ...) const [with Executor = const hpx::parallel::execution::sequenced_executor&; F = const hpx::parallel::v1::detail::for_each<Iterator<long int> >&; Ts = {const hpx::parallel::execution::sequenced_policy&, Iterator<long int>&, Sentinel<long int>&, void (&)(int), hpx::parallel::util::projection_identity}; decltype (hpx::parallel::execution::detail::sync_execute(forward<Executor>(exec), forward<F>(f), (forward<Ts>)(hpx::parallel::execution::detail::customization_point<hpx::parallel::execution::detail::sync_execute_tag>::operator()::ts)...)) = Iterator<long int>]’
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/algorithms/detail/dispatch.hpp:128:64: required from ‘typename hpx::parallel::util::detail::algorithm_result<ExPolicy, typename hpx::parallel::v1::detail::local_algorithm_result<Result>::type>::type hpx::parallel::v1::detail::algorithm<Derived, Result>::call_execute(ExPolicy&&, std::false_type, Args&& ...) const [with ExPolicy = const hpx::parallel::execution::sequenced_policy&; Args = {Iterator<long int>&, Sentinel<long int>&, void (&)(int), hpx::parallel::util::projection_identity}; Derived = hpx::parallel::v1::detail::for_each<Iterator<long int> >; Result = Iterator<long int>; typename hpx::parallel::util::detail::algorithm_result<ExPolicy, typename hpx::parallel::v1::detail::local_algorithm_result<Result>::type>::type = Iterator<long int>; std::false_type = std::integral_constant<bool, false>]’
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/algorithms/detail/dispatch.hpp:153:48: required from ‘typename hpx::parallel::util::detail::algorithm_result<ExPolicy, typename hpx::parallel::v1::detail::local_algorithm_result<Result>::type>::type hpx::parallel::v1::detail::algorithm<Derived, Result>::call(ExPolicy&&, std::true_type, Args&& ...) const [with ExPolicy = const hpx::parallel::execution::sequenced_policy&; Args = {Iterator<long int>&, Sentinel<long int>&, void (&)(int), hpx::parallel::util::projection_identity}; Derived = hpx::parallel::v1::detail::for_each<Iterator<long int> >; Result = Iterator<long int>; typename hpx::parallel::util::detail::algorithm_result<ExPolicy, typename hpx::parallel::v1::detail::local_algorithm_result<Result>::type>::type = Iterator<long int>; std::true_type = std::integral_constant<bool, true>]’
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/algorithms/for_each.hpp:432:41: required from ‘typename hpx::parallel::util::detail::algorithm_result<ExPolicy, T>::type hpx::parallel::v1::detail::for_each_(ExPolicy&&, FwdIterB, FwdIterE, F&&, Proj&&, std::false_type) [with ExPolicy = const hpx::parallel::execution::sequenced_policy&; FwdIterB = Iterator<long int>; FwdIterE = Sentinel<long int>; F = void (&)(int); Proj = hpx::parallel::util::projection_identity; typename hpx::parallel::util::detail::algorithm_result<ExPolicy, T>::type = Iterator<long int>; std::false_type = std::integral_constant<bool, false>]’
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/algorithms/for_each.hpp:534:33: required from ‘typename hpx::parallel::util::detail::algorithm_result<ExPolicy, T>::type hpx::parallel::v1::for_each(ExPolicy&&, FwdIterB, FwdIterE, F&&, Proj&&) [with ExPolicy = const hpx::parallel::execution::sequenced_policy&; FwdIterB = Iterator<long int>; FwdIterE = Sentinel<long int>; F = void (&)(int); Proj = hpx::parallel::util::projection_identity; int _concept_requires_515 = 42; typename std::enable_if<((_concept_requires_515 == 43) || (((hpx::parallel::execution::is_execution_policy<T>::value && hpx::traits::is_iterator<Iter>::value) && hpx::traits::is_sentinel_for<FwdIterE, FwdIterB>::value) && hpx::parallel::traits::is_projected<Proj, FwdIter>::value)), int>::type _concept_check_515 = 0; int _concept_requires_521 = 42; typename std::enable_if<((_concept_requires_521 == 43) || hpx::parallel::traits::is_indirect_callable<ExPolicy, F, hpx::parallel::traits::projected<Proj, FwdIter> >::value), int>::type _concept_check_521 = 0; typename hpx::parallel::util::detail::algorithm_result<ExPolicy, T>::type = Iterator<long int>]’
/home/giannis/foreach_adapt/libs/algorithms/tests/unit/container_algorithms/foreach_adapt.cpp:27:71: required from here
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/algorithms/for_each.hpp:385:34: error: cannot bind non-const lvalue reference of type ‘void (*&)(int)’ to an rvalue of type ‘void (*)(int)’
385 | return util::loop(std::forward<ExPolicy>(policy), first, last,
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
386 | invoke_projected<F, Proj>{f, proj});
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/giannis/foreach_adapt/libs/algorithms/include/hpx/parallel/algorithms/for_each.hpp:83:53: note: initializing argument 1 of ‘hpx::parallel::v1::detail::invoke_projected<F, hpx::parallel::util::projection_identity>::invoke_projected(typename hpx::util::decay<Action>::type&, hpx::parallel::util::projection_identity) [with F = void (&)(int); typename hpx::util::decay<Action>::type = void (*)(int)]’
83 | typename hpx::util::decay<F>::type& f,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
make[3]: *** [libs/algorithms/tests/unit/container_algorithms/CMakeFiles/foreach_adapt_test.dir/build.make:63: libs/algorithms/tests/unit/container_algorithms/CMakeFiles/foreach_adapt_test.dir/foreach_adapt.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:25383: libs/algorithms/tests/unit/container_algorithms/CMakeFiles/foreach_adapt_test.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:25023: libs/algorithms/tests/unit/container_algorithms/CMakeFiles/tests.unit.modules.algorithms.foreach_adapt.dir/rule] Error 2
make: *** [Makefile:5024: tests.unit.modules.algorithms.foreach_adapt] Error 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment