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"); static constexpr auto name = const_name("Callable");
}; };
template <> template <>
struct handle_type_name<object> {
static constexpr auto name = const_name("Any");
};
template <>
struct handle_type_name<handle> { struct handle_type_name<handle> {
static constexpr auto name = handle_type_name<object>::name; static constexpr auto name = handle_type_name<object>::name;
}; };

View File

@ -221,5 +221,5 @@ def test_custom_func2():
def test_callback_docstring(): def test_callback_docstring():
assert ( assert (
m.test_tuple_unpacking.__doc__.strip() 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) 1. m.factory_constructors.TestFactory1(arg0: m.factory_constructors.tag.unique_ptr_tag, arg1: int)
2. m.factory_constructors.TestFactory1(arg0: str) 2. m.factory_constructors.TestFactory1(arg0: str)
3. m.factory_constructors.TestFactory1(arg0: m.factory_constructors.tag.pointer_tag) 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' 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 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 ( assert (
doc(m.vectorized_func) 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]", "arg6: numpy.ndarray[numpy.float64]",
] ]
) )
+ ") -> object" + ") -> Any"
) )
b = np.array([[10, 20, 30]], dtype="float64") b = np.array([[10, 20, 30]], dtype="float64")