fix: Render `py::object` as `Any`

This commit is contained in:
Sergei Izmailov 2023-09-01 10:10:11 +09:00
parent d8b91c68eb
commit 7861dcfabb
4 changed files with 9 additions and 5 deletions

View File

@ -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;
};

View File

@ -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"
)

View File

@ -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'
"""
@ -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
"""
)

View File

@ -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
"""
)
@ -218,7 +218,7 @@ def test_passthrough_arguments(doc):
"arg6: numpy.ndarray[numpy.float64]",
]
)
+ ") -> object"
+ ") -> Any"
)
b = np.array([[10, 20, 30]], dtype="float64")