mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-07 20:54:28 +08:00
Make name and value read-only for Enums, part II (#6578)
This commit is contained in:
@@ -121,7 +121,12 @@ class Enum(metaclass=EnumMeta):
|
||||
def __reduce_ex__(self, proto: object) -> Any: ...
|
||||
|
||||
class IntEnum(int, Enum):
|
||||
value: int
|
||||
if sys.version_info >= (3, 11):
|
||||
@property
|
||||
def value(self) -> int: ...
|
||||
else:
|
||||
@types.DynamicClassAttribute
|
||||
def value(self) -> int: ...
|
||||
def __new__(cls: Type[_T], value: int | _T) -> _T: ...
|
||||
|
||||
def unique(enumeration: _S) -> _S: ...
|
||||
@@ -130,12 +135,25 @@ _auto_null: Any
|
||||
|
||||
# subclassing IntFlag so it picks up all implemented base functions, best modeling behavior of enum.auto()
|
||||
class auto(IntFlag):
|
||||
value: Any
|
||||
if sys.version_info >= (3, 11):
|
||||
@property
|
||||
def value(self) -> Any: ...
|
||||
else:
|
||||
@types.DynamicClassAttribute
|
||||
def value(self) -> Any: ...
|
||||
def __new__(cls: Type[_T]) -> _T: ...
|
||||
|
||||
class Flag(Enum):
|
||||
name: str | None # type: ignore[assignment]
|
||||
value: int
|
||||
if sys.version_info >= (3, 11):
|
||||
@property
|
||||
def name(self) -> str | None: ... # type: ignore[override]
|
||||
@property
|
||||
def value(self) -> int: ...
|
||||
else:
|
||||
@types.DynamicClassAttribute
|
||||
def name(self) -> str | None: ... # type: ignore[override]
|
||||
@types.DynamicClassAttribute
|
||||
def value(self) -> int: ...
|
||||
def __contains__(self: _T, other: _T) -> bool: ...
|
||||
def __repr__(self) -> str: ...
|
||||
def __str__(self) -> str: ...
|
||||
|
||||
Reference in New Issue
Block a user