mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-29 00:22:00 +00:00
Merge branch 'master' into annotated_any
This commit is contained in:
commit
b02767d17f
1
.github/workflows/ci.yml
vendored
1
.github/workflows/ci.yml
vendored
@ -114,6 +114,7 @@ jobs:
|
|||||||
run: >
|
run: >
|
||||||
cmake -S . -B .
|
cmake -S . -B .
|
||||||
-DPYBIND11_WERROR=ON
|
-DPYBIND11_WERROR=ON
|
||||||
|
-DPYBIND11_DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION=ON
|
||||||
-DPYBIND11_SIMPLE_GIL_MANAGEMENT=ON
|
-DPYBIND11_SIMPLE_GIL_MANAGEMENT=ON
|
||||||
-DPYBIND11_NUMPY_1_ONLY=ON
|
-DPYBIND11_NUMPY_1_ONLY=ON
|
||||||
-DDOWNLOAD_CATCH=ON
|
-DDOWNLOAD_CATCH=ON
|
||||||
|
@ -107,6 +107,8 @@ endif()
|
|||||||
option(PYBIND11_INSTALL "Install pybind11 header files?" ${PYBIND11_MASTER_PROJECT})
|
option(PYBIND11_INSTALL "Install pybind11 header files?" ${PYBIND11_MASTER_PROJECT})
|
||||||
option(PYBIND11_TEST "Build pybind11 test suite?" ${PYBIND11_MASTER_PROJECT})
|
option(PYBIND11_TEST "Build pybind11 test suite?" ${PYBIND11_MASTER_PROJECT})
|
||||||
option(PYBIND11_NOPYTHON "Disable search for Python" OFF)
|
option(PYBIND11_NOPYTHON "Disable search for Python" OFF)
|
||||||
|
option(PYBIND11_DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION
|
||||||
|
"To enforce that a handle_type_name<> specialization exists" OFF)
|
||||||
option(PYBIND11_SIMPLE_GIL_MANAGEMENT
|
option(PYBIND11_SIMPLE_GIL_MANAGEMENT
|
||||||
"Use simpler GIL management logic that does not support disassociation" OFF)
|
"Use simpler GIL management logic that does not support disassociation" OFF)
|
||||||
option(PYBIND11_NUMPY_1_ONLY
|
option(PYBIND11_NUMPY_1_ONLY
|
||||||
@ -115,6 +117,9 @@ set(PYBIND11_INTERNALS_VERSION
|
|||||||
""
|
""
|
||||||
CACHE STRING "Override the ABI version, may be used to enable the unstable ABI.")
|
CACHE STRING "Override the ABI version, may be used to enable the unstable ABI.")
|
||||||
|
|
||||||
|
if(PYBIND11_DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION)
|
||||||
|
add_compile_definitions(PYBIND11_DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION)
|
||||||
|
endif()
|
||||||
if(PYBIND11_SIMPLE_GIL_MANAGEMENT)
|
if(PYBIND11_SIMPLE_GIL_MANAGEMENT)
|
||||||
add_compile_definitions(PYBIND11_SIMPLE_GIL_MANAGEMENT)
|
add_compile_definitions(PYBIND11_SIMPLE_GIL_MANAGEMENT)
|
||||||
endif()
|
endif()
|
||||||
|
@ -881,9 +881,21 @@ struct is_holder_type
|
|||||||
template <typename base, typename deleter>
|
template <typename base, typename deleter>
|
||||||
struct is_holder_type<base, std::unique_ptr<base, deleter>> : std::true_type {};
|
struct is_holder_type<base, std::unique_ptr<base, deleter>> : std::true_type {};
|
||||||
|
|
||||||
|
#ifdef PYBIND11_DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION // See PR #4888
|
||||||
|
|
||||||
|
// This leads to compilation errors if a specialization is missing.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct handle_type_name;
|
struct handle_type_name;
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
struct handle_type_name {
|
||||||
|
static constexpr auto name = const_name<T>();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct handle_type_name<object> {
|
struct handle_type_name<object> {
|
||||||
static constexpr auto name = const_name("object");
|
static constexpr auto name = const_name("object");
|
||||||
|
Loading…
Reference in New Issue
Block a user