From b72c79f96469fa3a22aaa3cfdff35ac8622d34da Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 15 Oct 2020 09:43:49 -0400 Subject: [PATCH] fix: std::is_pod -> pybind11::detail::is_pod --- include/pybind11/numpy.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/include/pybind11/numpy.h b/include/pybind11/numpy.h index 75ec96f01..2e22548ff 100644 --- a/include/pybind11/numpy.h +++ b/include/pybind11/numpy.h @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -328,6 +329,12 @@ template using is_pod_struct = all_of< satisfies_none_of >; +// Replacement for std::is_pod (deprecated in C++20) +template using is_pod = all_of< + std::is_standard_layout, + std::is_trivial +>; + template ssize_t byte_offset_unsafe(const Strides &) { return 0; } template ssize_t byte_offset_unsafe(const Strides &strides, ssize_t i, Ix... index) { @@ -1448,7 +1455,7 @@ struct vectorize_arg { using call_type = remove_reference_t; // Is this a vectorized argument? static constexpr bool vectorize = - satisfies_any_of::value && + satisfies_any_of::value && satisfies_none_of::value && (!std::is_reference::value || (std::is_lvalue_reference::value && std::is_const::value));