Issue #19030:  special-cased __dict__ as the actual dict is not returned, a proxy is.
diff --git a/Lib/inspect.py b/Lib/inspect.py
index 7cd7011..2e3a670 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -362,6 +362,8 @@
         dict_obj = sentinel
         if name not in processed:
             try:
+                if name == '__dict__':
+                    raise Exception("__dict__ is special, we don't want the proxy")
                 get_obj = getattr(cls, name)
             except Exception as exc:
                 pass