From e3f495b7e94424e545e11e65405bb56f0a17a8f7 Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Mon, 24 Apr 2017 15:30:59 -0700 Subject: [PATCH] Add missing enum attributes (#1195) Fixes #854 (unless there's more I'm missing). --- stdlib/3.4/enum.pyi | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/stdlib/3.4/enum.pyi b/stdlib/3.4/enum.pyi index 51f4fa531..a7e0fd686 100644 --- a/stdlib/3.4/enum.pyi +++ b/stdlib/3.4/enum.pyi @@ -1,11 +1,16 @@ import sys -from typing import List, Any, TypeVar, Union, Iterable, Iterator, TypeVar, Generic, Type, Sized +from typing import List, Any, TypeVar, Union, Iterable, Iterator, TypeVar, Generic, Type, Sized, Reversible, Container, Mapping _T = TypeVar('_T', bound=Enum) _S = TypeVar('_S', bound=Type[Enum]) -class EnumMeta(type, Iterable[Enum], Sized): +class EnumMeta(type, Iterable[Enum], Sized, Reversible[Enum], Container[Enum]): def __iter__(self: Type[_T]) -> Iterator[_T]: ... # type: ignore + def __reversed__(self: Type[_T]) -> Iterator[_T]: ... + def __contains__(self, member: Any) -> bool: ... + def __getitem__(self: Type[_T], name: str) -> _T: ... + @property + def __members__(self: Type[_T]) -> Mapping[str, _T]: ... class Enum(metaclass=EnumMeta): def __new__(cls: Type[_T], value: Any) -> _T: ...