From 031c998055ef67192c1ebbfd63b19656373b4f7a Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Fri, 6 May 2022 23:48:34 -0700 Subject: [PATCH] enum: Add member and nonmember (#7795) python/cpython#92366 --- stdlib/enum.pyi | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/stdlib/enum.pyi b/stdlib/enum.pyi index beafeb12d..9ebeba37a 100644 --- a/stdlib/enum.pyi +++ b/stdlib/enum.pyi @@ -4,7 +4,7 @@ from _typeshed import Self from abc import ABCMeta from builtins import property as _builtins_property from collections.abc import Iterable, Iterator, Mapping -from typing import Any, TypeVar, overload +from typing import Any, Generic, TypeVar, overload from typing_extensions import Literal, TypeAlias if sys.version_info >= (3, 11): @@ -21,6 +21,8 @@ if sys.version_info >= (3, 11): "unique", "property", "verify", + "member", + "nonmember", "FlagBoundary", "STRICT", "CONFORM", @@ -54,6 +56,15 @@ _EnumerationT = TypeVar("_EnumerationT", bound=type[Enum]) # _EnumNames: TypeAlias = str | Iterable[str] | Iterable[Iterable[str | Any]] | Mapping[str, Any] +if sys.version_info >= (3, 11): + class nonmember(Generic[_EnumMemberT]): + value: _EnumMemberT + def __init__(self, value: _EnumMemberT) -> None: ... + + class member(Generic[_EnumMemberT]): + value: _EnumMemberT + def __init__(self, value: _EnumMemberT) -> None: ... + class _EnumDict(dict[str, Any]): def __init__(self) -> None: ... def __setitem__(self, key: str, value: Any) -> None: ...