[pypy-issue] Issue #2095: type(obj) should not call obj's metaclass's __getattribute__ (pypy/pypy)

kmod issues-reply at bitbucket.org
Wed Jul 22 23:34:52 CEST 2015

New issue 2095: type(obj) should not call obj's metaclass's __getattribute__


Not really sure what's going on here, but this code produces different output between CPython  (2.7.6) and PyPy (2.6.0):

class M(type):
    def __getattribute__(self, attr):
        print "getattribute", attr
        raise Exception()

class C(object):
    __metaclass__ = M

c = C()
print type(c)

PyPy calls `__getattribute__("__class__")` but cpython does not.  Not sure why the exception doesn't get propagated or the return value (if one was generated) gets ignored.

More information about the pypy-issue mailing list