summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2012-10-31 03:51:03 (GMT)
committerBenjamin Peterson <benjamin@python.org>2012-10-31 03:51:03 (GMT)
commit8afa7fa51064848d826e4eb8a2bd46cf7f730b0f (patch)
treeef0fb644e04cbf28714579ef0985a1cd9d951354 /Objects
parente8ea97fffb591cd71090d0f3114bf1d3bcd31454 (diff)
downloadcpython-8afa7fa51064848d826e4eb8a2bd46cf7f730b0f.zip
cpython-8afa7fa51064848d826e4eb8a2bd46cf7f730b0f.tar.gz
cpython-8afa7fa51064848d826e4eb8a2bd46cf7f730b0f.tar.bz2
don't shadow the __qualname__ descriptor with __qualname__ in the class's __dict__ (closes #16271)
Diffstat (limited to 'Objects')
-rw-r--r--Objects/typeobject.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 5d625a2..9f0d13e 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -2250,11 +2250,10 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
goto error;
}
}
- else {
- qualname = et->ht_name;
- }
- Py_INCREF(qualname);
- et->ht_qualname = qualname;
+ et->ht_qualname = qualname ? qualname : et->ht_name;
+ Py_INCREF(et->ht_qualname);
+ if (qualname != NULL && PyDict_DelItem(dict, PyId___qualname__.object) < 0)
+ goto error;
/* Set tp_doc to a copy of dict['__doc__'], if the latter is there
and is a string. The __doc__ accessor will first look for tp_doc;