From 4e08fbcfdfa57ea94091aabdd09413708e3fb2bf Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Tue, 21 Jun 2022 12:45:38 -0700 Subject: gh-93021: Fix __text_signature__ for __get__ (GH-93023) Because of the way wrap_descr_get is written, the second argument to __get__ methods implemented through the wrapper is always optional. --- Objects/typeobject.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Objects/typeobject.c') diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 40df69e8b8..5ebff6084f 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -7184,7 +7184,7 @@ wrap_descr_get(PyObject *self, PyObject *args, void *wrapped) obj = NULL; if (type == Py_None) type = NULL; - if (type == NULL &&obj == NULL) { + if (type == NULL && obj == NULL) { PyErr_SetString(PyExc_TypeError, "__get__(None, None) is invalid"); return NULL; @@ -8209,7 +8209,7 @@ static slotdef slotdefs[] = { TPSLOT("__next__", tp_iternext, slot_tp_iternext, wrap_next, "__next__($self, /)\n--\n\nImplement next(self)."), TPSLOT("__get__", tp_descr_get, slot_tp_descr_get, wrap_descr_get, - "__get__($self, instance, owner, /)\n--\n\nReturn an attribute of instance, which is of type owner."), + "__get__($self, instance, owner=None, /)\n--\n\nReturn an attribute of instance, which is of type owner."), TPSLOT("__set__", tp_descr_set, slot_tp_descr_set, wrap_descr_set, "__set__($self, instance, value, /)\n--\n\nSet an attribute of instance to value."), TPSLOT("__delete__", tp_descr_set, slot_tp_descr_set, -- cgit v1.2.1