Hi Prabhu, Prabhu Ramachandran wrote:
Hi,
One more bug. Consider an overloaded virtual function that is implemented in the base class and not overridden in the derived class.
// --------- overload.hpp -------- namespace test { class Base { public: virtual void f() {} virtual void f(const int i){} };
class A : public Base { public: void f(){} }; } // --------- overload.hpp --------
Running Pyste on this produces this wrapper code:
// ---------- wrapper code ---------- struct test_A_Wrapper: test::A { [...] void f(const int p0) { call_method< void >(self, "f", p0); }
void default_f(const int p0) { test::A::f(p0); // <<=========== ERROR. test::Base::f(p0); // <<=========== Should be this. } [...] // ---------- wrapper code ----------
Attached is a patch (two lines) for the _current_ CVS code that fixes this.
I just applied your patch. I really appreciate your effort in finding this problems, thanks a lot! Regards, Nicodemus.