diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/destructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/destructible.h index 6445d2f15ce..6a0ad1bff44 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/destructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/destructible.h @@ -30,6 +30,13 @@ _LIBCUDACXX_BEGIN_NAMESPACE_STD #if _LIBCUDACXX_STD_VER > 11 +#if defined(_LIBCUDACXX_COMPILER_MSVC) + +template +_LIBCUDACXX_CONCEPT destructible = __is_nothrow_destructible(_Tp); + +#else // ^^^ _LIBCUDACXX_COMPILER_MSVC ^^^ / vvv !_LIBCUDACXX_COMPILER_MSVC vvv + template _LIBCUDACXX_INLINE_VAR constexpr bool __destructible_impl = false; @@ -58,6 +65,8 @@ _LIBCUDACXX_INLINE_VAR constexpr bool __destructible<_Tp[_Nm]> = __destructible< template _LIBCUDACXX_CONCEPT destructible = __destructible<_Tp>; +#endif // !_LIBCUDACXX_COMPILER_MSVC + #endif // _LIBCUDACXX_STD_VER > 11 _LIBCUDACXX_END_NAMESPACE_STD