swig/Examples/test-suite/template_virtual.i
luz.paz ed28e7cbe2 Misc. typo and whitespace fixes
Found via `codespell -q 3 -L "uint,bae,objext,cmo,goin,struc,ois,upto"`
whitespaces were unintentionally fixed due to my editors settings.

Rebased patch #1327
2018-09-19 20:29:14 +01:00

34 lines
817 B
OpenEdge ABL

%module template_virtual
// Submitted by Marcelo Matus
// assertion emitted with templates + derivation + pure virtual member
// allocate.cxx:47: int Allocate::is_abstract_inherit(Node*, Node*):
// Assertion `dn' failed.
%inline %{
template <class T>
class A
{
public:
virtual ~A() { }
virtual void say_hi() = 0; // only fails with pure virtual methods
virtual void say_hello() {} // this works fine
protected:
A() { } // defined protected as swig generates constructor by default
};
template <class T>
class B : public A<T>
{
protected:
B() { } // defined protected as swig generates constructor by default
};
%}
%template(A_int) A<int>;
%template(B_int) B<int>; // !!!! it crashes right here !!!!!