[3.13] gh-122087: Restore ismethoddescriptor() and isroutine() for partial objects (GH-122218)

Now they return False again.
This commit is contained in:
Serhiy Storchaka 2024-07-25 10:11:47 +03:00 committed by GitHub
parent 716c6771fc
commit 4e7716554b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 0 deletions

View file

@ -325,6 +325,11 @@ def ismethoddescriptor(object):
if isclass(object) or ismethod(object) or isfunction(object):
# mutual exclusion
return False
if isinstance(object, functools.partial):
# Lie for children. The addition of partial.__get__
# doesn't currently change the partial objects behaviour,
# not counting a warning about future changes.
return False
tp = type(object)
return (hasattr(tp, "__get__")
and not hasattr(tp, "__set__")