From 0f63acbad05bd86479cad9916741722f20c54c23 Mon Sep 17 00:00:00 2001 From: jan Date: Sun, 8 Mar 2026 15:01:27 -0700 Subject: [PATCH] [AutoSlots] deduplicate slots entries --- masque/utils/autoslots.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/masque/utils/autoslots.py b/masque/utils/autoslots.py index e82d3db..cef8006 100644 --- a/masque/utils/autoslots.py +++ b/masque/utils/autoslots.py @@ -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)