summaryrefslogtreecommitdiffstats
path: root/Misc
diff options
context:
space:
mode:
authorEthan Furman <ethan@stoneleaf.us>2013-10-18 07:27:39 (GMT)
committerEthan Furman <ethan@stoneleaf.us>2013-10-18 07:27:39 (GMT)
commit63c141cacd0d655647430fe4b6a10c22d355aef2 (patch)
tree74d992cc1102dd4a538ed9d027e7b3aec0d045af /Misc
parent0e0cd46227bb3e95cc6395ef514bf13f0d30c668 (diff)
downloadcpython-63c141cacd0d655647430fe4b6a10c22d355aef2.zip
cpython-63c141cacd0d655647430fe4b6a10c22d355aef2.tar.gz
cpython-63c141cacd0d655647430fe4b6a10c22d355aef2.tar.bz2
Close #19030: inspect.getmembers and inspect.classify_class_attrs
Order of search is now: 1. Try getattr 2. If that throws an exception, check __dict__ directly 3. If still not found, walk the mro looking for the eldest class that has the attribute (e.g. things returned by __getattr__) 4. If none of that works (e.g. due to a buggy __dir__, __getattr__, etc. method or missing __slot__ attribute), ignore the attribute entirely.
Diffstat (limited to 'Misc')
-rw-r--r--Misc/NEWS5
1 files changed, 5 insertions, 0 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 90b2e45..ad57f53 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -135,6 +135,11 @@ Library
- Issue #4366: Fix building extensions on all platforms when --enable-shared
is used.
+- Issue #19030: Fixed `inspect.getmembers` and `inspect.classify_class_attrs`
+ to attempt activating descriptors before falling back to a __dict__ search
+ for faulty descriptors. `inspect.classify_class_attrs` no longer returns
+ Attributes whose home class is None.
+
C API
-----