robotpy / robotpy-build

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

Add support for private virtual functions #188

Closed virtuald closed 1 year ago

virtuald commented 1 year ago
virtuald commented 1 year ago

Also added a static assert for when a trampoline is abstract, hopefully it's useful?

    build/temp.linux-x86_64-cpython-311/gensrc/rpytest_ft/abstract.cpp:40:71: error: static assertion failed: ::PrivateAbstract has an abstract trampoline -- and they must never be abstract! One of the generated override methods doesn't match the original class or its bases, or is missing. You will need to provide method and/or param overrides for that method. It is likely the following compiler error messages will tell you which one it is.
       40 |     static_assert(std::is_abstract<PrivateAbstract_Trampoline>::value == false, "::PrivateAbstract " RPYBUILD_BAD_TRAMPOLINE);
          |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
    build/temp.linux-x86_64-cpython-311/gensrc/rpytest_ft/abstract.cpp:40:71: note: the comparison reduces to ‘(1 == 0)’