Disabling shared_ptr&, shared_ptr* tests when building with…

Disabling shared_ptr&, shared_ptr* tests when building with PYBIND11_USE_SMART_HOLDER_AS_DEFAULT for now, pending work on smart_holder_type_caster<shared_ptr>.
parent 1d6bfafa
...@@ -112,8 +112,10 @@ UserType TestPropRVP::sv2(1); ...@@ -112,8 +112,10 @@ UserType TestPropRVP::sv2(1);
class NoneTester { public: int answer = 42; }; class NoneTester { public: int answer = 42; };
int none1(const NoneTester &obj) { return obj.answer; } int none1(const NoneTester &obj) { return obj.answer; }
int none2(NoneTester *obj) { return obj ? obj->answer : -1; } int none2(NoneTester *obj) { return obj ? obj->answer : -1; }
#ifndef PYBIND11_USE_SMART_HOLDER_AS_DEFAULT
int none3(std::shared_ptr<NoneTester> &obj) { return obj ? obj->answer : -1; } int none3(std::shared_ptr<NoneTester> &obj) { return obj ? obj->answer : -1; }
int none4(std::shared_ptr<NoneTester> *obj) { return obj && *obj ? (*obj)->answer : -1; } int none4(std::shared_ptr<NoneTester> *obj) { return obj && *obj ? (*obj)->answer : -1; }
#endif
int none5(std::shared_ptr<NoneTester> obj) { return obj ? obj->answer : -1; } int none5(std::shared_ptr<NoneTester> obj) { return obj ? obj->answer : -1; }
struct StrIssue { struct StrIssue {
...@@ -329,13 +331,17 @@ TEST_SUBMODULE(methods_and_attributes, m) { ...@@ -329,13 +331,17 @@ TEST_SUBMODULE(methods_and_attributes, m) {
.def(py::init<>()); .def(py::init<>());
m.def("no_none1", &none1, py::arg{}.none(false)); m.def("no_none1", &none1, py::arg{}.none(false));
m.def("no_none2", &none2, py::arg{}.none(false)); m.def("no_none2", &none2, py::arg{}.none(false));
#ifndef PYBIND11_USE_SMART_HOLDER_AS_DEFAULT
m.def("no_none3", &none3, py::arg{}.none(false)); m.def("no_none3", &none3, py::arg{}.none(false));
m.def("no_none4", &none4, py::arg{}.none(false)); m.def("no_none4", &none4, py::arg{}.none(false));
#endif
m.def("no_none5", &none5, py::arg{}.none(false)); m.def("no_none5", &none5, py::arg{}.none(false));
m.def("ok_none1", &none1); m.def("ok_none1", &none1);
m.def("ok_none2", &none2, py::arg{}.none(true)); m.def("ok_none2", &none2, py::arg{}.none(true));
#ifndef PYBIND11_USE_SMART_HOLDER_AS_DEFAULT
m.def("ok_none3", &none3); m.def("ok_none3", &none3);
m.def("ok_none4", &none4, py::arg{}.none(true)); m.def("ok_none4", &none4, py::arg{}.none(true));
#endif
m.def("ok_none5", &none5); m.def("ok_none5", &none5);
m.def("no_none_kwarg", &none2, "a"_a.none(false)); m.def("no_none_kwarg", &none2, "a"_a.none(false));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment