The great merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
6fcc22a1f8
commit
516036631c
1508 changed files with 125983 additions and 44037 deletions
32
SWIG/Examples/test-suite/template_virtual.i
Normal file
32
SWIG/Examples/test-suite/template_virtual.i
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
%module template_virtual
|
||||
|
||||
// Submitted by Marcelo Matus
|
||||
// assertion emmitted 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 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 !!!!!
|
||||
Loading…
Add table
Add a link
Reference in a new issue