robotpy / robotpy-build

(mostly) automated C++ wrapping for Python
BSD 3-Clause "New" or "Revised" License
35 stars 16 forks source link

Detect multiple inheritance and add py::multiple_inheritance to it #155

Open virtuald opened 2 years ago

virtuald commented 2 years ago

Similar to #149 , record this information in a .json file and use that to set the flag automatically.

For now, will have to set it manually.

virtuald commented 2 years ago

pybind11 actually will handle this correctly most of the time. The only time that it doesn't handle it is when there's "hidden" MI... eg, the base of your base has MI. I think we might be able to modify pybind11 to detect most of those cases, the only case we'd need something different is if the user ignores a base, then it still needs to be marked as MI... probably. Though, Sendable is ignored everywhere and that's (probably) never caused a problem?