]> granicus.if.org Git - python/commitdiff
Issue #20786: Fix signatures for dict.__delitem__ and property.__delete__
authorYury Selivanov <yselivanov@sprymix.com>
Sun, 2 Mar 2014 17:25:27 +0000 (12:25 -0500)
committerYury Selivanov <yselivanov@sprymix.com>
Sun, 2 Mar 2014 17:25:27 +0000 (12:25 -0500)
Lib/test/test_inspect.py
Misc/NEWS
Objects/typeobject.c

index 0dc74512a259a09750df9a2879944edf2fc107cb..5c6ae394d52083d6fc57adaac46e8b9a8b4cef4f 100644 (file)
@@ -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")
index d54cfba7d77677aa15dee2b71eae2192dbdf32b5..3af41ea0d670b53f5f374ecd83a40344dae0a924 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -14,6 +14,9 @@ Core and Builtins
 - Issue #20637: Key-sharing now also works for instance dictionaries of
   subclasses.  Patch by Peter Ingebretson.
 
+- Issue #20786: Fix signatures for dict.__delitem__ and
+  property.__delete__ builtins.
+
 Library
 -------
 
index 5a41387bc1263a2422c8bec87be437bdef3e453b..df8f3512383a6c3cb96c0ec9d83f2c3c88ea90fd 100644 (file)
@@ -6192,7 +6192,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.",
@@ -6289,7 +6289,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)."),