3333#include " ../detail/throw_on_cuda_error.cuh"
3434#include " ../detail/queue.cuh"
3535#include " ../detail/variant.cuh"
36- #include " stdexec/__detail/__config.hpp"
3736
3837STDEXEC_PRAGMA_PUSH ()
3938STDEXEC_PRAGMA_IGNORE_EDG(cuda_compile)
@@ -52,7 +51,7 @@ namespace nvexec {
5251 device
5352 };
5453
55- #if defined(__clang__) && defined(__CUDA__)
54+ #if defined(__clang__) && defined(__CUDA__) && !defined(STDEXEC_CLANG_TIDY)
5655 __host__ inline auto get_device_type () noexcept -> device_type {
5756 return device_type::host;
5857 }
@@ -61,12 +60,12 @@ namespace nvexec {
6160 return device_type::device;
6261 }
6362#else
64- __host__ __device__ inline device_type get_device_type () noexcept {
63+ __host__ __device__ inline auto get_device_type () noexcept -> device_type {
6564 NV_IF_TARGET (NV_IS_HOST, (return device_type::host;), (return device_type::device;));
6665 }
6766#endif
6867
69- inline STDEXEC_ATTRIBUTE ((host, device)) bool is_on_gpu () noexcept {
68+ inline STDEXEC_ATTRIBUTE ((host, device)) auto is_on_gpu () noexcept -> bool {
7069 return get_device_type () == device_type::device;
7170 }
7271} // namespace nvexec
@@ -470,15 +469,8 @@ namespace nvexec {
470469 };
471470
472471 template <class Env >
473- requires tag_invocable<get_stream_provider_t , const __decay_t <Env>&>
474472 constexpr auto borrows_stream_h () -> bool {
475- return true ;
476- }
477-
478- template <class Env >
479- requires (!tag_invocable<get_stream_provider_t , const __decay_t <Env>>)
480- constexpr auto borrows_stream_h() -> bool {
481- return false ;
473+ return __callable<get_stream_provider_t , const Env&>;
482474 }
483475
484476 template <class OuterReceiverId >
@@ -741,7 +733,7 @@ namespace nvexec {
741733 stdexec::__id<OuterReceiver>>;
742734
743735 template <class Sender , class OuterReceiver >
744- auto exit_op_state (Sender&& sndr, OuterReceiver&& rcvr, context_state_t context_state) noexcept
736+ auto exit_op_state (Sender&& sndr, OuterReceiver rcvr, context_state_t context_state) noexcept
745737 -> exit_operation_state_t<Sender, OuterReceiver> {
746738 using ReceiverId = stdexec::__id<OuterReceiver>;
747739 return exit_operation_state_t <Sender, OuterReceiver>(
0 commit comments