mirror of
https://github.com/pybind/pybind11.git
synced 2026-04-19 22:39:09 +00:00
Fail on passing py::object with wrong Python type to py::object subclass using PYBIND11_OBJECT macro (#2349)
* Fail on passing py::object with wrong Python type to py::object subclass using PYBIND11_OBJECT macro * Split off test_non_converting_constructors from test_constructors * Fix test_as_type, as py::type constructor now throws an error itself if the argument is not a type * Replace tp_name access by pybind11::detail::get_fully_qualified_tp_name * Move forward-declaration of get_fully_qualified_tp_name to detail/common.h * Don't add the builtins module name in get_fully_qualified_tp_name for PyPy * Add PYBIND11_BUILTINS_MODULE macro, and use it in get_fully_qualified_tp_name
This commit is contained in:
@@ -157,11 +157,7 @@ TEST_SUBMODULE(class_, m) {
|
||||
});
|
||||
|
||||
m.def("as_type", [](py::object ob) {
|
||||
auto tp = py::type(ob);
|
||||
if (py::isinstance<py::type>(ob))
|
||||
return tp;
|
||||
else
|
||||
throw std::runtime_error("Invalid type");
|
||||
return py::type(ob);
|
||||
});
|
||||
|
||||
// test_mismatched_holder
|
||||
|
||||
Reference in New Issue
Block a user