Author: Armin Rigo <[email protected]>
Branch:
Changeset: r51772:66a54c1c81de
Date: 2012-01-26 09:59 +0100
http://bitbucket.org/pypy/pypy/changeset/66a54c1c81de/
Log: Fix.
diff --git a/pypy/rlib/objectmodel.py b/pypy/rlib/objectmodel.py
--- a/pypy/rlib/objectmodel.py
+++ b/pypy/rlib/objectmodel.py
@@ -145,7 +145,13 @@
self.compute_fn = compute_fn
def __repr__(self):
- return '%s(%r)' % (self.__class__.__name__, self.compute_fn)
+ # repr(self.compute_fn) can arrive back here in an
+ # infinite recursion
+ try:
+ name = self.compute_fn.__name__
+ except (AttributeError, TypeError):
+ name = hex(id(self.compute_fn))
+ return '%s(%r)' % (self.__class__.__name__, name)
def annotation(self):
from pypy.annotation import model
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit