id summary reporter owner description type status milestone component version severity resolution keywords cc 5803 MPL assertion does not allow python to override protected virtual methods mathstuf@… Ralf W. Grosse-Kunstleve "When wrapping a class with virtual protected methods, the following MPL assertion is hit in boost::python::detail::error::virtual_function_default<> (python/class.hpp:141): {{{ assertion > > }}} The way I've been exposing the protected method so that the Python can override it is: {{{ class Base { protected: virtual void foo(); }; class BaseWrap : public Base, public wrapper { public: void foo(); void base_foo(); }; // ... class_(""PythonBase"") .def(""foo"", &BaseWrap::foo, &BaseWrap::base_foo); }}} The assertion is *supposed* to be (following the function names) testing that ``&BaseWrap::base_foo`` is a method of the wrapped class (``BaseWrap``), but it does it in a way that precludes the main overriding function from *also* being from ``BaseWrap`` which isn't really correct." Bugs closed To Be Determined python USE GITHUB Boost 1.47.0 Problem fixed