Skip to content

Commit 4a2f36b

Browse files
committed
try to work around EDG and MSVC non-conformances
1 parent f2f50b3 commit 4a2f36b

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

include/stdexec/__detail/__get_completion_signatures.hpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,25 @@ namespace STDEXEC
308308
&& __constant<STDEXEC::get_completion_signatures<_Sender, _Env...>()>
309309
using __completion_signatures_of_t =
310310
decltype(STDEXEC::get_completion_signatures<_Sender, _Env...>());
311+
312+
#elif STDEXEC_EDG() || STDEXEC_MSVC()
313+
314+
namespace __detail
315+
{
316+
template <class _Sender, class... _Env>
317+
using __cmplsigs_of_t =
318+
std::integral_constant<decltype(STDEXEC::get_completion_signatures<_Sender, _Env...>()),
319+
STDEXEC::get_completion_signatures<_Sender, _Env...>()>::value_type;
320+
} // namespace __detail
321+
322+
template <class _Sender, class... _Env>
323+
requires enable_sender<__decay_t<_Sender>>
324+
&& __minvocable_q<__detail::__cmplsigs_of_t, _Sender, _Env...>
325+
using __completion_signatures_of_t =
326+
decltype(STDEXEC::get_completion_signatures<_Sender, _Env...>());
327+
311328
#else
329+
312330
template <class _Sender, class... _Env>
313331
requires enable_sender<__decay_t<_Sender>>
314332
using __completion_signatures_of_t =

0 commit comments

Comments
 (0)