#5587: add a repr to dict_proxy objects. Patch by David Stanek and Daniel Urban.
diff --git a/Objects/descrobject.c b/Objects/descrobject.c
index 9671102..11c68d3 100644
--- a/Objects/descrobject.c
+++ b/Objects/descrobject.c
@@ -766,6 +766,12 @@
return PyObject_Str(pp->dict);
}
+static PyObject *
+proxy_repr(proxyobject *pp)
+{
+ return PyUnicode_FromFormat("dict_proxy(%R)", pp->dict);
+}
+
static int
proxy_traverse(PyObject *self, visitproc visit, void *arg)
{
@@ -791,7 +797,7 @@
0, /* tp_getattr */
0, /* tp_setattr */
0, /* tp_reserved */
- 0, /* tp_repr */
+ (reprfunc)proxy_repr, /* tp_repr */
0, /* tp_as_number */
&proxy_as_sequence, /* tp_as_sequence */
&proxy_as_mapping, /* tp_as_mapping */