New submission from Daniel Neuhäuser <dasdas...@googlemail.com>: Upon trying to create a proxy I stumbled upon this exception:
Traceback (most recent call last): File "foo.py", line 11, in <module> p.__class__.__call__(p) SystemError: PyEval_EvalCodeEx: NULL globals Investigating further led me to this code which reproduces the exception: class Proxy(object): def __init__(self, proxied): self.proxied = proxied @property def __class__(self): return self.proxied.__class__ def __call__(self): return self.proxied.__call__() p = Proxy(lambda: 1) p.__class__.__call__(p) I understand that `p.__class__.__call__()` expects an argument of a different type however this is not obvious from the exception itself. PyPy on the other hand raises this exception: Traceback (most recent call last): File "app_main.py", line 53, in run_toplevel File "foo.py", line 11, in <module> p.__class__.__call__(p) TypeError: 'function' object expected, got 'Proxy' instead Which explains the issue and is expected (at least by me) and apparently Jython raises an exception at least similar to PyPy's. ---------- components: Interpreter Core messages: 126389 nosy: DasIch priority: normal severity: normal status: open title: Unexpected exception when calling function_proxy.__class__.__call__(function_proxy) type: behavior versions: Python 2.5, Python 2.6, Python 2.7, Python 3.1 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue10922> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com