[AutoSlots] deduplicate slots entries

This commit is contained in:
jan 2026-03-08 15:01:27 -07:00
commit 0f63acbad0

View file

@ -17,11 +17,12 @@ class AutoSlots(ABCMeta):
for base in bases:
parents |= set(base.mro())
slots = tuple(dctn.get('__slots__', ()))
slots = list(dctn.get('__slots__', ()))
for parent in parents:
if not hasattr(parent, '__annotations__'):
continue
slots += tuple(parent.__annotations__.keys())
slots.extend(parent.__annotations__.keys())
dctn['__slots__'] = slots
# Deduplicate (dict to preserve order)
dctn['__slots__'] = tuple(dict.fromkeys(slots))
return super().__new__(cls, name, bases, dctn)