I'm trying to wrap some C++ classes, and one issue I've run into
is having an extern(C++) class inheriting from another, with the
child doing a "nonvirtual override" of a nonvirtual member
function in the base class... E.g., in C++:
```
struct A {
void f() { ... }
...
// some other virtual functions
};
struct B {
void f() { ... } // nonvirtual override A::f
...
// other VFs
};
```
D doesn't seem to like this very much... Is there some way to
hack around this issue? For a variety of reasons, I can't make
any modifications to the C++ code I'm wrapping.
For more context, I'm writing a script that's generating wrappers
for about 150 header files, maybe 100-200k LOC (using the
cxxheaderparse Python library). This is actually going pretty
well, but he best solution I can come up with right now is to try
to detect cases like this and omit them, but it's less than
ideal. The C++ library is mostly C++98 style and it's been smooth
sailing with the occasional wart I've needed to figure out like
this.