From 3f973967c68a7690ead404dae83d6b91927d8b52 Mon Sep 17 00:00:00 2001 From: Michael Carlstrom Date: Tue, 18 Mar 2025 17:52:19 -0400 Subject: [PATCH 1/2] fix numpy.object_ --- include/pybind11/numpy.h | 2 +- tests/test_numpy_array.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/pybind11/numpy.h b/include/pybind11/numpy.h index 3a370fe5a3..130a467ebc 100644 --- a/include/pybind11/numpy.h +++ b/include/pybind11/numpy.h @@ -1521,7 +1521,7 @@ struct npy_format_descriptor< enable_if_t::value || ((std::is_same::value || std::is_same::value) && sizeof(T) == sizeof(PyObject *))>> { - static constexpr auto name = const_name("object"); + static constexpr auto name = const_name("numpy.object_"); static constexpr int value = npy_api::NPY_OBJECT_; diff --git a/tests/test_numpy_array.py b/tests/test_numpy_array.py index 3a3f22a64d..81b59c33c8 100644 --- a/tests/test_numpy_array.py +++ b/tests/test_numpy_array.py @@ -301,6 +301,10 @@ def test_constructors(): assert results["array_t"].dtype == np.int32 assert results["array_t"].dtype == np.float64 +def test_array_object_type(doc): + assert doc(m.pass_array_object_return_as_list) == \ + "pass_array_object_return_as_list(arg0: typing.Annotated[numpy.typing.ArrayLike, numpy.object_]) -> list" + def test_overload_resolution(msg): # Exact overload matches: From 49f6bf42203366c2a1e23530d264f4ef5105ec95 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 18 Mar 2025 21:56:58 +0000 Subject: [PATCH 2/2] style: pre-commit fixes --- tests/test_numpy_array.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/test_numpy_array.py b/tests/test_numpy_array.py index 81b59c33c8..19c07ca11c 100644 --- a/tests/test_numpy_array.py +++ b/tests/test_numpy_array.py @@ -301,9 +301,12 @@ def test_constructors(): assert results["array_t"].dtype == np.int32 assert results["array_t"].dtype == np.float64 + def test_array_object_type(doc): - assert doc(m.pass_array_object_return_as_list) == \ - "pass_array_object_return_as_list(arg0: typing.Annotated[numpy.typing.ArrayLike, numpy.object_]) -> list" + assert ( + doc(m.pass_array_object_return_as_list) + == "pass_array_object_return_as_list(arg0: typing.Annotated[numpy.typing.ArrayLike, numpy.object_]) -> list" + ) def test_overload_resolution(msg):