From 4b360ca2c8614cc2e8caba0fe002b2575ac1b4aa Mon Sep 17 00:00:00 2001 From: Shantanu Date: Sat, 14 Mar 2020 00:03:22 -0400 Subject: [PATCH] TypedDict: fix keys, values, items return value (#3529) Fixes #3473 Co-authored-by: hauntsaninja <> --- stdlib/3/typing.pyi | 3 +++ third_party/2and3/mypy_extensions.pyi | 4 ++++ third_party/2and3/typing_extensions.pyi | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/stdlib/3/typing.pyi b/stdlib/3/typing.pyi index 2f7d69b19..d9d37051b 100644 --- a/stdlib/3/typing.pyi +++ b/stdlib/3/typing.pyi @@ -651,6 +651,9 @@ class _TypedDict(Mapping[str, object], metaclass=ABCMeta): def pop(self, k: NoReturn, default: _T = ...) -> object: ... def update(self: _T, __m: _T) -> None: ... def __delitem__(self, k: NoReturn) -> None: ... + def items(self) -> ItemsView[str, object]: ... + def keys(self) -> KeysView[str]: ... + def values(self) -> ValuesView[object]: ... def NewType(name: str, tp: Type[_T]) -> Type[_T]: ... diff --git a/third_party/2and3/mypy_extensions.pyi b/third_party/2and3/mypy_extensions.pyi index 19d99cc9d..9e756dd5f 100644 --- a/third_party/2and3/mypy_extensions.pyi +++ b/third_party/2and3/mypy_extensions.pyi @@ -22,6 +22,10 @@ class _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta): def viewitems(self) -> ItemsView[str, object]: ... def viewkeys(self) -> KeysView[str]: ... def viewvalues(self) -> ValuesView[object]: ... + else: + def items(self) -> ItemsView[str, object]: ... + def keys(self) -> KeysView[str]: ... + def values(self) -> ValuesView[object]: ... def __delitem__(self, k: NoReturn) -> None: ... def TypedDict(typename: str, fields: Dict[str, Type[_T]], total: bool = ...) -> Type[Dict[str, Any]]: ... diff --git a/third_party/2and3/typing_extensions.pyi b/third_party/2and3/typing_extensions.pyi index edf40d675..1bb5da609 100644 --- a/third_party/2and3/typing_extensions.pyi +++ b/third_party/2and3/typing_extensions.pyi @@ -42,6 +42,10 @@ class _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta): def viewitems(self) -> ItemsView[str, object]: ... def viewkeys(self) -> KeysView[str]: ... def viewvalues(self) -> ValuesView[object]: ... + else: + def items(self) -> ItemsView[str, object]: ... + def keys(self) -> KeysView[str]: ... + def values(self) -> ValuesView[object]: ... def __delitem__(self, k: NoReturn) -> None: ... # TypedDict is a (non-subscriptable) special form.