Skip to content

Commit c606ef4

Browse files
committed
Allocate variant adapter directly to setter of variants also works
1 parent ac26396 commit c606ef4

1 file changed

Lines changed: 1 addition & 17 deletions

File tree

src/fieldenum/_flag.py

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class Flag(typing.Generic[T], MutableSet[T]):
1414
def __init__(self, *flags: T) -> None:
1515
flags_dict: dict[type[T], T] = {type(flag): flag for flag in flags}
1616
self._flags = flags_dict
17-
self._adapter = _VariantAdepter(flags_dict, __class__)
17+
self.variants = _VariantAdepter(flags_dict, __class__)
1818

1919
@classmethod
2020
def _from_iterable(cls, it) -> typing.Self:
@@ -54,22 +54,6 @@ def remove(self, flag: T) -> None:
5454
def clear(self) -> None:
5555
self._flags.clear()
5656

57-
@property
58-
def variants(self) -> _VariantAdepter[T]:
59-
"""Access flags via type."""
60-
return self._adapter
61-
62-
@variants.setter
63-
def variants(self, value) -> None:
64-
"""Fake setter for variants.
65-
66-
This is used for inplace operations like: `flag.variants &= my_flag`
67-
68-
This does indeed not set value.
69-
Use `self._adapter = value` if you *really* want to set value.
70-
"""
71-
pass
72-
7357

7458
class _VariantAdepter(typing.Generic[T], MutableSet[type[T]], MutableMapping[type[T], T]):
7559
def __init__(self, flag: dict[type[T], T], variant_constructor: type[Flag], /):

0 commit comments

Comments
 (0)