Pablo Galindo Salgado <pablog...@gmail.com> added the comment:
Unfortunately, I don't know how that can help because the stack trace is the same in these two cases: >>> import traceback >>> class A: ... def __repr__(self): ... traceback.print_stack() >>> A() File "<stdin>", line 1, in <module> File "<stdin>", line 4, in __repr__ Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: __repr__ returned non-string (type NoneType) >>> print([A()]) File "<stdin>", line 1, in <module> File "<stdin>", line 4, in __repr__ Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: __repr__ returned non-string (type NoneType) This also becomes a bit tricky if __repr__ is called from C code or from native threads. In general, the underlying problem is that __repr__ should not have side effects. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue44603> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com