@@ -56,17 +56,17 @@ _CCCL_BEGIN_NAMESPACE_CUDA
5656
5757_CCCL_EXEC_CHECK_DISABLE
5858template <class _Tp >
59- _CCCL_PUBLIC_API auto __move_fn (_Tp& __src, void * __dst) noexcept
60- -> ::cuda::std::enable_if_t<::cuda::std::movable<_Tp>, void>
59+ _CCCL_PUBLIC_API auto __move_fn (_Tp& __src, void * __dst) noexcept -> void
6160{
61+ static_assert (::cuda::std::movable<_Tp>, " type must be movable" );
6262 ::new (__dst) _Tp (static_cast <_Tp&&>(__src));
6363}
6464
6565_CCCL_EXEC_CHECK_DISABLE
6666template <class _Tp >
67- [[nodiscard]] _CCCL_PUBLIC_API auto __try_move_fn (_Tp& __src, void * __dst, size_t __size, size_t __align)
68- -> ::cuda::std::enable_if_t<::cuda::std::movable<_Tp>, bool>
67+ [[nodiscard]] _CCCL_PUBLIC_API auto __try_move_fn (_Tp& __src, void * __dst, size_t __size, size_t __align) -> bool
6968{
69+ static_assert (::cuda::std::movable<_Tp>, " type must be movable" );
7070 if (::cuda::__is_small<_Tp>(__size, __align))
7171 {
7272 ::new (__dst) _Tp (static_cast <_Tp&&>(__src));
@@ -81,9 +81,9 @@ template <class _Tp>
8181
8282_CCCL_EXEC_CHECK_DISABLE
8383template <class _Tp >
84- [[nodiscard]] _CCCL_PUBLIC_API auto __copy_fn (_Tp const & __src, void * __dst, size_t __size, size_t __align)
85- -> ::cuda::std::enable_if_t<::cuda::std::copyable<_Tp>, bool>
84+ [[nodiscard]] _CCCL_PUBLIC_API auto __copy_fn (_Tp const & __src, void * __dst, size_t __size, size_t __align) -> bool
8685{
86+ static_assert (::cuda::std::copyable<_Tp>, " type must be copyable" );
8787 if (::cuda::__is_small<_Tp>(__size, __align))
8888 {
8989 ::new (__dst) _Tp (__src);
0 commit comments