@@ -50,37 +50,38 @@ PYBIND11_SMART_HOLDER_TYPE_CASTERS(pybind11_tests::FooSmHld)
5050namespace pybind11_tests {
5151
5252TEST_SUBMODULE (class_sh_shared_ptr_copy_move, m) {
53+ #if true // Trick to avoid clang-format changes, in support of PR #5213.
5354 namespace py = pybind11;
5455
5556 py::class_<FooShPtr, std::shared_ptr<FooShPtr>>(m, " FooShPtr" )
5657 .def (" get_history" , &FooShPtr::get_history);
5758 py::classh<FooSmHld>(m, " FooSmHld" ).def (" get_history" , &FooSmHld::get_history);
5859
5960 auto outer = py::class_<Outer>(m, " Outer" ).def (py::init ());
60- #define MAKE_PROP (PropTyp ) \
61- MAKE_PROP_FOO (ShPtr, PropTyp) \
62- MAKE_PROP_FOO (SmHld, PropTyp)
63-
64- #define MAKE_PROP_FOO (FooTyp, PropTyp ) \
65- .def_ ##PropTyp (#FooTyp " _" #PropTyp " _default" , &Outer::FooTyp) \
66- .def_ ##PropTyp ( \
67- #FooTyp " _" #PropTyp " _copy" , &Outer::FooTyp, py::return_value_policy::copy) \
68- .def_ ##PropTyp ( \
69- #FooTyp " _" #PropTyp " _move" , &Outer::FooTyp, py::return_value_policy::move)
61+ # define MAKE_PROP (PropTyp ) \
62+ MAKE_PROP_FOO (ShPtr, PropTyp) \
63+ MAKE_PROP_FOO (SmHld, PropTyp)
64+
65+ # define MAKE_PROP_FOO (FooTyp, PropTyp ) \
66+ .def_ ##PropTyp (#FooTyp " _" #PropTyp " _default" , &Outer::FooTyp) \
67+ .def_ ##PropTyp ( \
68+ #FooTyp " _" #PropTyp " _copy" , &Outer::FooTyp, py::return_value_policy::copy) \
69+ .def_ ##PropTyp ( \
70+ #FooTyp " _" #PropTyp " _move" , &Outer::FooTyp, py::return_value_policy::move)
7071 outer MAKE_PROP (readonly) MAKE_PROP (readwrite);
71- #undef MAKE_PROP_FOO
72-
73- #define MAKE_PROP_FOO (FooTyp, PropTyp ) \
74- .def_ ##PropTyp (#FooTyp " _property_" #PropTyp " _default" , &Outer::FooTyp) \
75- .def_property_ ##PropTyp (#FooTyp " _property_" #PropTyp " _copy" , \
76- &Outer::get##FooTyp, \
77- py::return_value_policy::copy) \
78- .def_property_ ##PropTyp (#FooTyp " _property_" #PropTyp " _move" , \
79- &Outer::get##FooTyp, \
80- py::return_value_policy::move)
72+ # undef MAKE_PROP_FOO
73+
74+ # define MAKE_PROP_FOO (FooTyp, PropTyp ) \
75+ .def_ ##PropTyp (#FooTyp " _property_" #PropTyp " _default" , &Outer::FooTyp) \
76+ .def_property_ ##PropTyp (#FooTyp " _property_" #PropTyp " _copy" , \
77+ &Outer::get##FooTyp, \
78+ py::return_value_policy::copy) \
79+ .def_property_ ##PropTyp (#FooTyp " _property_" #PropTyp " _move" , \
80+ &Outer::get##FooTyp, \
81+ py::return_value_policy::move)
8182 outer MAKE_PROP (readonly);
82- #undef MAKE_PROP_FOO
83- #undef MAKE_PROP
83+ # undef MAKE_PROP_FOO
84+ # undef MAKE_PROP
8485
8586 m.def (" test_ShPtr_copy" , []() {
8687 auto o = std::make_shared<FooShPtr>(" copy" );
@@ -107,6 +108,7 @@ TEST_SUBMODULE(class_sh_shared_ptr_copy_move, m) {
107108 l.append (std::move (o));
108109 return l;
109110 });
111+ #endif
110112}
111113
112114} // namespace pybind11_tests
0 commit comments