summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYury Selivanov <yselivanov@sprymix.com>2014-03-02 17:25:27 (GMT)
committerYury Selivanov <yselivanov@sprymix.com>2014-03-02 17:25:27 (GMT)
commitd930d85f120d67f7bab3f69f881bb1c65f462ea7 (patch)
tree480dcd72a7df5f0e9ab2b0e37e14ecedffe9d475
parent90c5c8ad5c78865e0177ab40fd83fa5345b19a79 (diff)
downloadcpython-d930d85f120d67f7bab3f69f881bb1c65f462ea7.zip
cpython-d930d85f120d67f7bab3f69f881bb1c65f462ea7.tar.gz
cpython-d930d85f120d67f7bab3f69f881bb1c65f462ea7.tar.bz2
Issue #20786: Fix signatures for dict.__delitem__ and property.__delete__
-rw-r--r--Lib/test/test_inspect.py5
-rw-r--r--Misc/NEWS7
-rw-r--r--Objects/typeobject.c4
3 files changed, 13 insertions, 3 deletions
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index 0dc7451..5c6ae39 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -1764,6 +1764,11 @@ class TestSignatureObject(unittest.TestCase):
__call__ = type
test_callable(ThisWorksNow())
+ # Regression test for issue #20786
+ test_unbound_method(dict.__delitem__)
+ test_unbound_method(property.__delete__)
+
+
@cpython_only
@unittest.skipIf(MISSING_C_DOCSTRINGS,
"Signature information for builtins requires docstrings")
diff --git a/Misc/NEWS b/Misc/NEWS
index a3ca8db..172bb73 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -4,9 +4,14 @@ Python News
What's New in Python 3.4.0 release candidate 3?
===============================================
-
Release date: 2014-03-09
+Core and Builtins
+-----------------
+
+- Issue #20786: Fix signatures for dict.__delitem__ and
+ property.__delete__ builtins.
+
Build
-----
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index f58960d..49385e2 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -6189,7 +6189,7 @@ static slotdef slotdefs[] = {
"__set__($self, instance, value, /)\n--\n\nSet an attribute of instance to value."),
TPSLOT("__delete__", tp_descr_set, slot_tp_descr_set,
wrap_descr_delete,
- "__delete__(instance, /)\n--\n\nDelete an attribute of instance."),
+ "__delete__($self, instance, /)\n--\n\nDelete an attribute of instance."),
FLSLOT("__init__", tp_init, slot_tp_init, (wrapperfunc)wrap_init,
"__init__($self, /, *args, **kwargs)\n--\n\n"
"Initialize self. See help(type(self)) for accurate signature.",
@@ -6286,7 +6286,7 @@ static slotdef slotdefs[] = {
"__setitem__($self, key, value, /)\n--\n\nSet self[key] to value."),
MPSLOT("__delitem__", mp_ass_subscript, slot_mp_ass_subscript,
wrap_delitem,
- "__delitem__(key)\n--\n\nDelete self[key]."),
+ "__delitem__($self, key, /)\n--\n\nDelete self[key]."),
SQSLOT("__len__", sq_length, slot_sq_length, wrap_lenfunc,
"__len__($self, /)\n--\n\nReturn len(self)."),