From 6923b3b1e526b3305de81f784fdca26736caf5ba Mon Sep 17 00:00:00 2001 From: Michael Schellenberger Costa Date: Fri, 3 May 2024 11:57:58 -0700 Subject: [PATCH] Ensure that `tuple_size` is defined (#473) Some compilers have issues trying to instantiate it too early. We can work around this by adding another SFINAE condition. --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- include/cuco/detail/pair/traits.hpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/include/cuco/detail/pair/traits.hpp b/include/cuco/detail/pair/traits.hpp index be23678bd..af3b0ffb2 100644 --- a/include/cuco/detail/pair/traits.hpp +++ b/include/cuco/detail/pair/traits.hpp @@ -38,10 +38,10 @@ template struct is_cuda_std_pair_like : cuda::std::false_type {}; template -struct is_cuda_std_pair_like< - T, - cuda::std::void_t(cuda::std::declval())), - decltype(cuda::std::get<1>(cuda::std::declval()))>> +struct is_cuda_std_pair_like(cuda::std::declval())), + decltype(cuda::std::get<1>(cuda::std::declval())), + decltype(cuda::std::tuple_size::value)>> : cuda::std::conditional_t::value == 2, cuda::std::true_type, cuda::std::false_type> {}; @@ -50,10 +50,10 @@ template struct is_thrust_pair_like_impl : cuda::std::false_type {}; template -struct is_thrust_pair_like_impl< - T, - cuda::std::void_t(cuda::std::declval())), - decltype(thrust::get<1>(cuda::std::declval()))>> +struct is_thrust_pair_like_impl(cuda::std::declval())), + decltype(thrust::get<1>(cuda::std::declval())), + decltype(thrust::tuple_size::value)>> : cuda::std::conditional_t::value == 2, cuda::std::true_type, cuda::std::false_type> {};