style: pre-commit fixes

This commit is contained in:
pre-commit-ci[bot] 2022-10-17 18:31:11 +00:00
parent d6df11602b
commit 5afd2c89db
2 changed files with 7 additions and 7 deletions

View File

@ -82,14 +82,14 @@ struct base {
.. note:: This is an advanced feature. If you use this, you likely need .. note:: This is an advanced feature. If you use this, you likely need
to implement polymorphic_type_hook for your type hierarchy. to implement polymorphic_type_hook for your type hierarchy.
\endrst */ \endrst */
template <typename T> struct custom_base { template <typename T>
using caster = void *(*)(void *); struct custom_base {
using caster = void *(*) (void *);
explicit custom_base(const caster &f) : fn(f) {} explicit custom_base(const caster &f) : fn(f) {}
caster fn; caster fn;
}; };
/// Keep patient alive while nurse lives /// Keep patient alive while nurse lives
template <size_t Nurse, size_t Patient> template <size_t Nurse, size_t Patient>
struct keep_alive {}; struct keep_alive {};
@ -579,8 +579,7 @@ struct process_attribute<base<T>> : process_attribute_default<base<T>> {
/// Process a custom base attribute /// Process a custom base attribute
template <typename T> template <typename T>
struct process_attribute<custom_base<T>> : process_attribute_default<custom_base<T>> { struct process_attribute<custom_base<T>> : process_attribute_default<custom_base<T>> {
static void init(const custom_base<T> &b, type_record *r) static void init(const custom_base<T> &b, type_record *r) {
{
r->add_base(typeid(T), b.fn); r->add_base(typeid(T), b.fn);
// TODO: rename this to 'nonsimple'? // TODO: rename this to 'nonsimple'?
r->multiple_inheritance = true; r->multiple_inheritance = true;

View File

@ -28,7 +28,8 @@ TEST_SUBMODULE(custom_base, m) {
py::class_<Derived>(m, "Derived", py::custom_base<Base>([](void *o) -> void * { py::class_<Derived>(m, "Derived", py::custom_base<Base>([](void *o) -> void * {
return &reinterpret_cast<Derived *>(o)->base; return &reinterpret_cast<Derived *>(o)->base;
})).def_readwrite("j", &Derived::j); }))
.def_readwrite("j", &Derived::j);
m.def("create_derived", []() { return new Derived; }); m.def("create_derived", []() { return new Derived; });
m.def("create_base", []() { return new Base; }); m.def("create_base", []() { return new Base; });