diff options
author | Furkan Onder <furkanonder@protonmail.com> | 2023-05-16 17:34:44 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-16 17:34:44 (GMT) |
commit | 5e9f471e7db30893fb3f42681f17fdcdb70069ee (patch) | |
tree | 92504b6558a35c489cfd564cf0a8a72dc5301693 /Lib/inspect.py | |
parent | a454a6651ba26ed623377dd01ed62a0a22afa8c7 (diff) | |
download | cpython-5e9f471e7db30893fb3f42681f17fdcdb70069ee.zip cpython-5e9f471e7db30893fb3f42681f17fdcdb70069ee.tar.gz cpython-5e9f471e7db30893fb3f42681f17fdcdb70069ee.tar.bz2 |
gh-75367: Fix data descriptor detection in inspect.getattr_static (#104517)
Co-authored-by: Carl Meyer <carl@oddbird.net>
Diffstat (limited to 'Lib/inspect.py')
-rw-r--r-- | Lib/inspect.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/inspect.py b/Lib/inspect.py index a64e85e..63f5aa9 100644 --- a/Lib/inspect.py +++ b/Lib/inspect.py @@ -1835,8 +1835,10 @@ def getattr_static(obj, attr, default=_sentinel): klass_result = _check_class(klass, attr) if instance_result is not _sentinel and klass_result is not _sentinel: - if (_check_class(type(klass_result), '__get__') is not _sentinel and - _check_class(type(klass_result), '__set__') is not _sentinel): + if _check_class(type(klass_result), "__get__") is not _sentinel and ( + _check_class(type(klass_result), "__set__") is not _sentinel + or _check_class(type(klass_result), "__delete__") is not _sentinel + ): return klass_result if instance_result is not _sentinel: |