From 868ecc22ab2207b1f9a36f803eaa58f5c3037657 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Mon, 3 Feb 2003 18:10:09 +0000 Subject: [PATCH] _slotnames(): exclude __dict__ and __weakref__; these aren't real slots even though they can be listed in __slots__. --- Lib/pickle.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Lib/pickle.py b/Lib/pickle.py index 0d553a70f9..05772b0e25 100644 --- a/Lib/pickle.py +++ b/Lib/pickle.py @@ -881,7 +881,8 @@ def _slotnames(cls): names = [] for c in cls.__mro__: 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 def _keep_alive(x, memo): -- 2.50.0