Commit 868ecc22 authored by Guido van Rossum's avatar Guido van Rossum

_slotnames(): exclude __dict__ and __weakref__; these aren't real

slots even though they can be listed in __slots__.
parent 795ea89c
...@@ -881,7 +881,8 @@ def _slotnames(cls): ...@@ -881,7 +881,8 @@ def _slotnames(cls):
names = [] names = []
for c in cls.__mro__: for c in cls.__mro__:
if "__slots__" in c.__dict__: if "__slots__" in c.__dict__:
names += list(c.__dict__["__slots__"]) names += [name for name in c.__dict__["__slots__"]
if name not in ("__dict__", "__weakref__")]
return names return names
def _keep_alive(x, memo): def _keep_alive(x, memo):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment