mirror of https://github.com/swig/swig
16 lines
668 B
Python
16 lines
668 B
Python
import director_pass_by_value
|
|
|
|
passByVal = None
|
|
class director_pass_by_value_Derived(director_pass_by_value.DirectorPassByValueAbstractBase):
|
|
def virtualMethod(self, b):
|
|
global passByVal
|
|
passByVal = b
|
|
|
|
# bug was the passByVal global object was destroyed after the call to virtualMethod had finished.
|
|
director_pass_by_value.Caller().call_virtualMethod(director_pass_by_value_Derived())
|
|
if director_pass_by_value.has_cplusplus11():
|
|
director_pass_by_value.Counter.check_counts(1, 0, 0, 1, 0, 1) # check move constructor called and just one destructor
|
|
ret = passByVal.getVal();
|
|
if ret != 0x12345678:
|
|
raise RuntimeError("Bad return value, got " + hex(ret))
|