Using the following script:
class A(object):
@classmethod
def x(cls):
print cls.__name__
class B(A):
@classmethod
def x(cls):
super(B,cls).x()
class C(B):
pass
class D(B):
@classmethod
def x(cls):
super(D,cls).x()
if __name__ == "__main__":
B.x()
C.x()
D.x()
using CPython 2.7.3 (win32 build), I get the following:
B
C
D
Under IronPython 2.7.3 (64 & 32 bit builds), I get the following:
B
B
B
This also occurs for other class properties, e.g. __doc__ or other
classmethods - i.e. super() is improperly changing which class object
is passed in.
Cheers,
Michael
_______________________________________________
Ironpython-users mailing list
[email protected]
http://mail.python.org/mailman/listinfo/ironpython-users