from smart_pointer_member import * | |
def is_new_style_class(cls): | |
return hasattr(cls, "__class__") | |
f = Foo() | |
f.y = 1 | |
if f.y != 1: | |
raise RuntimeError | |
b = Bar(f) | |
b.y = 2 | |
if f.y != 2: | |
print f.y | |
print b.y | |
raise RuntimeError | |
if b.x != f.x: | |
raise RuntimeError | |
if b.z != f.z: | |
raise RuntimeError | |
if is_new_style_class(Bar): # feature not supported in old style classes | |
if Foo.z == Bar.z: | |
raise RuntimeError |