[smart_holder] Make smart holder type caster of unique_ptr accept automatic_reference (#4775)

* Also accept automatic_reference

* Add a test case

* Remove the test case

* Add another test case

* Fix test case
This commit is contained in:
Xiaofei Wang
2023-08-03 18:33:16 -07:00
committed by GitHub
parent b6444460ee
commit f1e2e55bda
3 changed files with 11 additions and 0 deletions

View File

@@ -160,6 +160,12 @@ TEST_SUBMODULE(class_sh_basic, m) {
m.def("args_shared_ptr_const", [](std::shared_ptr<atyp const> p) { return p; });
m.def("args_unique_ptr", [](std::unique_ptr<atyp> p) { return p; });
m.def("args_unique_ptr_const", [](std::unique_ptr<atyp const> p) { return p; });
// Make sure unique_ptr type caster accept automatic_reference return value policy.
m.def(
"rtrn_uq_automatic_reference",
[]() { return std::unique_ptr<atyp>(new atyp("rtrn_uq_automatic_reference")); },
pybind11::return_value_policy::automatic_reference);
}
} // namespace class_sh_basic