1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
from smart_pointer_member import * f = Foo() f.y = 1 if f.y != 1: raise RuntimeError b = Bar(f) b.y = 2 if f.y != 2: raise RuntimeError("Failed {} {}".format(f.y, b.y)) if b.x != f.x: raise RuntimeError if b.z != f.z: raise RuntimeError if Foo.z == Bar.z: raise RuntimeError