Skip to content

Commit d5216a9

Browse files
committed
workaround for GCC
1 parent 16eff85 commit d5216a9

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

include/stdexec/__detail/__concepts.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@ namespace STDEXEC
9797
template <class _Ay, template <class...> class _Ty>
9898
concept __is_not_instance_of = !__is_instance_of<_Ay, _Ty>;
9999

100+
template <auto>
101+
concept __constant = true;
102+
100103
namespace __detail
101104
{
102105
template <auto>

include/stdexec/__detail/__get_completion_signatures.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,10 +302,18 @@ namespace STDEXEC
302302

303303
///////////////////////////////////////////////////////////////////////////////////////////////////
304304
// An minimally constrained alias for the result of get_completion_signatures:
305+
#if STDEXEC_GCC()
306+
template <class _Sender, class... _Env>
307+
requires enable_sender<__decay_t<_Sender>>
308+
&& __constant<STDEXEC::get_completion_signatures<_Sender, _Env...>()>
309+
using __completion_signatures_of_t =
310+
decltype(STDEXEC::get_completion_signatures<_Sender, _Env...>());
311+
#else
305312
template <class _Sender, class... _Env>
306313
requires enable_sender<__decay_t<_Sender>>
307314
using __completion_signatures_of_t =
308315
__mtypeof<STDEXEC::get_completion_signatures<_Sender, _Env...>()>;
316+
#endif
309317

310318
///////////////////////////////////////////////////////////////////////////////////////////////////
311319
// __get_child_completion_signatures

0 commit comments

Comments
 (0)