Add a life support system for type_caster temporaries

This commit is contained in:
Dean Moldovan
2017-06-26 20:34:06 +02:00
parent 6b442ff9e1
commit af2dda38ef
5 changed files with 97 additions and 7 deletions

View File

@@ -119,3 +119,11 @@ def test_override_static():
assert isinstance(b, m.MyBase)
assert isinstance(d1, m.MyDerived)
assert isinstance(d2, m.MyDerived)
def test_implicit_conversion_life_support():
"""Ensure the lifetime of temporary objects created for implicit conversions"""
assert m.implicitly_convert_argument(UserType(5)) == 5
assert m.implicitly_convert_variable(UserType(5)) == 5
assert "outside a bound function" in m.implicitly_convert_variable_fail(UserType(5))