Skip to content

Commit

Permalink
fix: Render py::object as Any
Browse files Browse the repository at this point in the history
  • Loading branch information
sizmailov committed Sep 1, 2023
1 parent d8b91c6 commit 7861dcf
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 5 deletions.
4 changes: 4 additions & 0 deletions include/pybind11/cast.h
Original file line number Diff line number Diff line change
Expand Up @@ -906,6 +906,10 @@ struct handle_type_name<function> {
static constexpr auto name = const_name("Callable");
};
template <>
struct handle_type_name<object> {
static constexpr auto name = const_name("Any");
};
template <>
struct handle_type_name<handle> {
static constexpr auto name = handle_type_name<object>::name;
};
Expand Down
2 changes: 1 addition & 1 deletion tests/test_callbacks.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,5 +221,5 @@ def test_custom_func2():
def test_callback_docstring():
assert (
m.test_tuple_unpacking.__doc__.strip()
== "test_tuple_unpacking(arg0: Callable) -> object"
== "test_tuple_unpacking(arg0: Callable) -> Any"
)
4 changes: 2 additions & 2 deletions tests/test_factory_constructors.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ def test_init_factory_signature(msg):
1. m.factory_constructors.TestFactory1(arg0: m.factory_constructors.tag.unique_ptr_tag, arg1: int)
2. m.factory_constructors.TestFactory1(arg0: str)
3. m.factory_constructors.TestFactory1(arg0: m.factory_constructors.tag.pointer_tag)
4. m.factory_constructors.TestFactory1(arg0: object, arg1: int, arg2: object)
4. m.factory_constructors.TestFactory1(arg0: Any, arg1: int, arg2: Any)
Invoked with: 'invalid', 'constructor', 'arguments'
"""
Expand All @@ -95,7 +95,7 @@ def test_init_factory_signature(msg):
3. __init__(self: m.factory_constructors.TestFactory1, arg0: m.factory_constructors.tag.pointer_tag) -> None
4. __init__(self: m.factory_constructors.TestFactory1, arg0: object, arg1: int, arg2: object) -> None
4. __init__(self: m.factory_constructors.TestFactory1, arg0: Any, arg1: int, arg2: Any) -> None
"""
)

Expand Down
4 changes: 2 additions & 2 deletions tests/test_numpy_vectorize.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ def test_docs(doc):
assert (
doc(m.vectorized_func)
== """
vectorized_func(arg0: numpy.ndarray[numpy.int32], arg1: numpy.ndarray[numpy.float32], arg2: numpy.ndarray[numpy.float64]) -> object
vectorized_func(arg0: numpy.ndarray[numpy.int32], arg1: numpy.ndarray[numpy.float32], arg2: numpy.ndarray[numpy.float64]) -> Any
"""
)

Expand Down Expand Up @@ -218,7 +218,7 @@ def test_passthrough_arguments(doc):
"arg6: numpy.ndarray[numpy.float64]",
]
)
+ ") -> object"
+ ") -> Any"
)

b = np.array([[10, 20, 30]], dtype="float64")
Expand Down

0 comments on commit 7861dcf

Please sign in to comment.