Skip to content

Commit

Permalink
trying to address gcc's problem with get_completion_signatures
Browse files Browse the repository at this point in the history
  • Loading branch information
dietmarkuehl committed Aug 30, 2024
1 parent 9712550 commit 949ce8a
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
10 changes: 6 additions & 4 deletions include/beman/execution26/detail/basic_sender.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,27 +21,28 @@ namespace beman::execution26::detail
using sender_concept = ::beman::execution26::sender_t;
using indices_for = ::std::index_sequence_for<Child...>;

#if 0
#if __cpp_explicit_this_parameter < 302110L
template <typename Env>
auto get_completion_signatures(Env&&) && noexcept
auto get_completion_signatures(Env&&) &&
-> ::beman::execution26::detail::completion_signatures_for<basic_sender&&, Env>
{
return {};
}
template <typename Env>
auto get_completion_signatures(Env&&) const&& noexcept
auto get_completion_signatures(Env&&) const&&
-> ::beman::execution26::detail::completion_signatures_for<basic_sender const&&, Env>
{
return {};
}
template <typename Env>
auto get_completion_signatures(Env&&) & noexcept
auto get_completion_signatures(Env&&) &
-> ::beman::execution26::detail::completion_signatures_for<basic_sender&, Env>
{
return {};
}
template <typename Env>
auto get_completion_signatures(Env&&) const& noexcept
auto get_completion_signatures(Env&&) const&
-> ::beman::execution26::detail::completion_signatures_for<basic_sender const&, Env>
{
return {};
Expand All @@ -54,6 +55,7 @@ namespace beman::execution26::detail
{
return {};
}
#endif
#endif
};
}
Expand Down
3 changes: 3 additions & 0 deletions src/beman/execution26/tests/exec-snd-expos.pass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1109,6 +1109,7 @@ namespace

basic_sender bs{ basic_sender_tag{}, data{}, sender0 {} };
basic_sender const& cbs{bs};
use(cbs);

auto&&[a, b, c] = bs;
use(a);
Expand All @@ -1133,6 +1134,7 @@ namespace
basic_sender_tag::sender::completion_signatures,
test_detail::completion_signatures_for<basic_sender, env>
>);
#if 0
static_assert(std::same_as<
basic_sender_tag::sender::completion_signatures,
decltype(bs.get_completion_signatures(env{}))
Expand All @@ -1146,6 +1148,7 @@ namespace
decltype(basic_sender{ basic_sender_tag{}, data{}, sender0 {} }
.get_completion_signatures(env{}))
>);
#endif
static_assert(std::same_as<
std::index_sequence_for<sender0>,
basic_sender::indices_for
Expand Down

0 comments on commit 949ce8a

Please sign in to comment.