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

Reply via email to