bpo-27541: Reprs of subclasses of some classes now contain actual typ… · python/cpython@b3a7796

@@ -4067,7 +4067,8 @@ static PyObject *

40674067

count_repr(countobject *lz)

40684068

{

40694069

if (lz->cnt != PY_SSIZE_T_MAX)

4070-

return PyUnicode_FromFormat("count(%zd)", lz->cnt);

4070+

return PyUnicode_FromFormat("%s(%zd)",

4071+

_PyType_Name(Py_TYPE(lz)), lz->cnt);

4071407240724073

if (PyLong_Check(lz->long_step)) {

40734074

long step = PyLong_AsLong(lz->long_step);

@@ -4076,11 +4077,14 @@ count_repr(countobject *lz)

40764077

}

40774078

if (step == 1) {

40784079

/* Don't display step when it is an integer equal to 1 */

4079-

return PyUnicode_FromFormat("count(%R)", lz->long_cnt);

4080+

return PyUnicode_FromFormat("%s(%R)",

4081+

_PyType_Name(Py_TYPE(lz)),

4082+

lz->long_cnt);

40804083

}

40814084

}

4082-

return PyUnicode_FromFormat("count(%R, %R)",

4083-

lz->long_cnt, lz->long_step);

4085+

return PyUnicode_FromFormat("%s(%R, %R)",

4086+

_PyType_Name(Py_TYPE(lz)),

4087+

lz->long_cnt, lz->long_step);

40844088

}

4085408940864090

static PyObject *

@@ -4220,9 +4224,12 @@ static PyObject *

42204224

repeat_repr(repeatobject *ro)

42214225

{

42224226

if (ro->cnt == -1)

4223-

return PyUnicode_FromFormat("repeat(%R)", ro->element);

4227+

return PyUnicode_FromFormat("%s(%R)",

4228+

_PyType_Name(Py_TYPE(ro)), ro->element);

42244229

else

4225-

return PyUnicode_FromFormat("repeat(%R, %zd)", ro->element, ro->cnt);

4230+

return PyUnicode_FromFormat("%s(%R, %zd)",

4231+

_PyType_Name(Py_TYPE(ro)), ro->element,

4232+

ro->cnt);

42264233

}

4227423442284235

static PyObject *