diff options
| author | Serhiy Storchaka <storchaka@gmail.com> | 2017-09-21 14:24:13 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-09-21 14:24:13 +0300 |
| commit | b3a77964ea89a488fc0e920e3db6d8477279f19b (patch) | |
| tree | 880d5770553aac324a7b29efdb233eca0cfbd38a /Modules/_collectionsmodule.c | |
| parent | 9adda0cdf89432386b7a04444a6199b580d287a1 (diff) | |
| download | cpython-git-b3a77964ea89a488fc0e920e3db6d8477279f19b.tar.gz | |
bpo-27541: Reprs of subclasses of some classes now contain actual type name. (#3631)
Affected classes are bytearray, array, deque, defaultdict, count and repeat.
Diffstat (limited to 'Modules/_collectionsmodule.c')
| -rw-r--r-- | Modules/_collectionsmodule.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c index 8766d86dd3..e78399ddef 100644 --- a/Modules/_collectionsmodule.c +++ b/Modules/_collectionsmodule.c @@ -1384,10 +1384,12 @@ deque_repr(PyObject *deque) return NULL; } if (((dequeobject *)deque)->maxlen >= 0) - result = PyUnicode_FromFormat("deque(%R, maxlen=%zd)", - aslist, ((dequeobject *)deque)->maxlen); + result = PyUnicode_FromFormat("%s(%R, maxlen=%zd)", + _PyType_Name(Py_TYPE(deque)), aslist, + ((dequeobject *)deque)->maxlen); else - result = PyUnicode_FromFormat("deque(%R)", aslist); + result = PyUnicode_FromFormat("%s(%R)", + _PyType_Name(Py_TYPE(deque)), aslist); Py_ReprLeave(deque); Py_DECREF(aslist); return result; @@ -2127,7 +2129,8 @@ defdict_repr(defdictobject *dd) Py_DECREF(baserepr); return NULL; } - result = PyUnicode_FromFormat("defaultdict(%U, %U)", + result = PyUnicode_FromFormat("%s(%U, %U)", + _PyType_Name(Py_TYPE(dd)), defrepr, baserepr); Py_DECREF(defrepr); Py_DECREF(baserepr); |
