diff --git a/include/beman/execution26/detail/product_type.hpp b/include/beman/execution26/detail/product_type.hpp index fdfaec3b..b309f95c 100644 --- a/include/beman/execution26/detail/product_type.hpp +++ b/include/beman/execution26/detail/product_type.hpp @@ -7,6 +7,8 @@ #include #include +#include + // ---------------------------------------------------------------------------- namespace beman::execution26::detail { @@ -126,4 +128,6 @@ struct tuple_element { // ---------------------------------------------------------------------------- +#include + #endif diff --git a/include/beman/execution26/detail/single_sender_value_type.hpp b/include/beman/execution26/detail/single_sender_value_type.hpp index e8bb5501..a1055426 100644 --- a/include/beman/execution26/detail/single_sender_value_type.hpp +++ b/include/beman/execution26/detail/single_sender_value_type.hpp @@ -27,6 +27,8 @@ struct single_sender_value_type_helper { template requires ::std::same_as<::std::variant<::std::tuple<>>, + ::beman::execution26::value_types_of_t> || + ::std::same_as<::std::variant<>, ::beman::execution26::value_types_of_t> struct single_sender_value_type_helper { using type = void; diff --git a/tests/beman/execution26/execution-syn.test.cpp b/tests/beman/execution26/execution-syn.test.cpp index 06f5e6b6..8c00562b 100644 --- a/tests/beman/execution26/execution-syn.test.cpp +++ b/tests/beman/execution26/execution-syn.test.cpp @@ -225,18 +225,18 @@ auto test_single_sender_value_type() -> void { test_detail::single_sender_value_type>); test_single_sender_value_type(single_type_sender{}, test_std::empty_env{}); test_single_sender_value_type(single_type_sender{}, test_env{}); - test_single_sender_value_type(single_type_sender{}, no_value_env{}); + test_single_sender_value_type(single_type_sender{}, no_value_env{}); test_single_sender_value_type(multi_single_sender{}, test_std::empty_env{}); - test_single_sender_value_type(no_value_sender{}, test_std::empty_env{}); + test_single_sender_value_type(no_value_sender{}, test_std::empty_env{}); } auto test_single_sender() -> void { static_assert(test_detail::single_sender); - static_assert(not test_detail::single_sender); + static_assert(test_detail::single_sender); static_assert(test_detail::single_sender); static_assert(not test_detail::single_sender); static_assert(test_detail::single_sender); - static_assert(not test_detail::single_sender); + static_assert(test_detail::single_sender); } struct connect_sender {