@@ -43,27 +43,42 @@ namespace beman::execution26::detail
43
43
#endif
44
44
using sender_type = ::std::remove_cvref_t <Sender>;
45
45
static constexpr ::beman::execution26::detail::sender_any_t at{};
46
- if constexpr (requires (){ sender_type{ at, at, at, at, at, at }; })
46
+ if constexpr (
47
+ requires (){ sender_type{ at, at, at, at, at, at }; }
48
+ || requires (){ sender_type{ { at, at, at, at, at, at } }; }
49
+ )
47
50
{
48
51
auto && [tag, data, c0, c1, c2, c3] = sender;
49
52
return ::beman::execution26::detail::sender_meta<decltype (tag), decltype (data), ::std::tuple<decltype (c0), decltype (c1), decltype (c2), decltype (c3)>>{};
50
53
}
51
- else if constexpr (requires (){ sender_type{ at, at, at, at, at }; })
54
+ else if constexpr (
55
+ requires (){ sender_type{ at, at, at, at, at }; }
56
+ || requires (){ sender_type{ { at, at, at, at, at } }; }
57
+ )
52
58
{
53
59
auto && [tag, data, c0, c1, c2] = sender;
54
60
return ::beman::execution26::detail::sender_meta<decltype (tag), decltype (data), ::std::tuple<decltype (c0), decltype (c1), decltype (c2)>>{};
55
61
}
56
- else if constexpr (requires (){ sender_type{ at, at, at, at }; })
62
+ else if constexpr (
63
+ requires (){ sender_type{ at, at, at, at }; }
64
+ || requires (){ sender_type{ { at, at, at, at } }; }
65
+ )
57
66
{
58
67
auto && [tag, data, c0, c1] = sender;
59
68
return ::beman::execution26::detail::sender_meta<decltype (tag), decltype (data), ::std::tuple<decltype (c0), decltype (c1)>>{};
60
69
}
61
- else if constexpr (requires (){ sender_type{ at, at, at }; })
70
+ else if constexpr (
71
+ requires (){ sender_type{ at, at, at }; }
72
+ || requires (){ sender_type{ { at, at, at } }; }
73
+ )
62
74
{
63
75
auto && [tag, data, c0] = sender;
64
76
return ::beman::execution26::detail::sender_meta<decltype (tag), decltype (data), ::std::tuple<decltype (c0)>>{};
65
77
}
66
- else if constexpr (requires (){ sender_type{ at, at }; })
78
+ else if constexpr (
79
+ requires (){ sender_type{ at, at }; }
80
+ || requires (){ sender_type{ { at, at } }; }
81
+ )
67
82
{
68
83
auto && [tag, data] = sender;
69
84
return ::beman::execution26::detail::sender_meta<decltype (tag), decltype (data), ::std::tuple<>>{};
0 commit comments