Skip to content

Commit 99047cf

Browse files
committed
work around concepts bug in earlier CDKs
1 parent 18b2cc2 commit 99047cf

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

include/stdexec/__detail/__env.hpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ namespace stdexec {
378378
concept __nothrow_queryable = nothrow_tag_invocable<_Query, const _Env&, _Args...>;
379379

380380
template <class _Env, class _Query, class... _Args>
381-
concept __statically_queryable = requires {
381+
concept __statically_queryable = __queryable<_Env, _Query, _Args...> && requires {
382382
std::remove_reference_t<_Env>::query(std::declval<_Query>(), std::declval<_Args>()...);
383383
};
384384

@@ -461,8 +461,7 @@ namespace stdexec {
461461
// NOT TO SPEC: a static query memfn for those envs that have a static query memfn.
462462
// This is useful for constexpr evaluation of queries.
463463
template <class _Query, class... _Args>
464-
requires(__queryable<_Envs, _Query, _Args...> || ...)
465-
&& __statically_queryable<__1st_env_t<_Query, _Args...>, _Query, _Args...>
464+
requires __statically_queryable<__1st_env_t<_Query, _Args...>, _Query, _Args...>
466465
STDEXEC_ATTRIBUTE(nodiscard, always_inline)
467466
static constexpr auto query(_Query __q, _Args&&... __args)
468467
noexcept(__nothrow_queryable<__1st_env_t<_Query, _Args...>, _Query, _Args...>)
@@ -472,7 +471,7 @@ namespace stdexec {
472471
}
473472

474473
template <class _Query, class... _Args>
475-
requires(__queryable<_Envs, _Query, _Args...> || ...)
474+
requires __queryable<__1st_env_t<_Query, _Args...>, _Query, _Args...>
476475
STDEXEC_ATTRIBUTE(nodiscard, always_inline)
477476
constexpr auto query(_Query __q, _Args&&... __args) const
478477
noexcept(__nothrow_queryable<__1st_env_t<_Query, _Args...>, _Query, _Args...>)
@@ -509,8 +508,7 @@ namespace stdexec {
509508
// NOT TO SPEC: a static query memfn for those envs that have a static query memfn.
510509
// This is useful for constexpr evaluation of queries.
511510
template <class _Query, class... _Args>
512-
requires(__queryable<_Env0, _Query, _Args...> || __queryable<_Env1, _Query, _Args...>)
513-
&& __statically_queryable<__1st_env_t<_Query, _Args...>, _Query, _Args...>
511+
requires __statically_queryable<__1st_env_t<_Query, _Args...>, _Query, _Args...>
514512
STDEXEC_ATTRIBUTE(nodiscard, always_inline)
515513
static constexpr auto query(_Query __q, _Args&&... __args)
516514
noexcept(__nothrow_queryable<__1st_env_t<_Query, _Args...>, _Query, _Args...>)
@@ -520,7 +518,7 @@ namespace stdexec {
520518
}
521519

522520
template <class _Query, class... _Args>
523-
requires __queryable<_Env0, _Query, _Args...> || __queryable<_Env1, _Query, _Args...>
521+
requires __queryable<__1st_env_t<_Query, _Args...>, _Query, _Args...>
524522
STDEXEC_ATTRIBUTE(nodiscard, always_inline)
525523
constexpr auto query(_Query __q, _Args&&... __args) const
526524
noexcept(__nothrow_queryable<__1st_env_t<_Query, _Args...>, _Query, _Args...>)

0 commit comments

Comments
 (0)