Overridden methods do not override base class methods in REST API.
Brought to you by:
hpcoder
struct Base
{
void foo(double);
};
struct Derived: public Base
{
void foo(double);
};
Derived derived;
In REST API, calling derived/foo calls Base:: foo(), not Derived::foo(). Not a problem for virtual methods of course, so the workaround is to never override non-virtual functions.
The problem is the use of multimaps to handle overloaded methods - we need to check if a method of the same signature exists from a base class, and replace it if so, rather than appending to the multimap.
Anonymous
This is now fixed - most of the work done some time ago, with a recent fix to the partial override of overloaded methods.