From 4ac642bd49290511de77a429416b52bf980da12d Mon Sep 17 00:00:00 2001 From: David Euresti Date: Tue, 21 Mar 2017 22:30:27 -0700 Subject: [PATCH] Separate MutableMapping.pop into 2 overloaded methods (#1045) This makes calls with the default value not return a Union --- stdlib/2/typing.pyi | 3 +++ stdlib/3/typing.pyi | 3 +++ 2 files changed, 6 insertions(+) diff --git a/stdlib/2/typing.pyi b/stdlib/2/typing.pyi index 3c63ad614..aa8468f94 100644 --- a/stdlib/2/typing.pyi +++ b/stdlib/2/typing.pyi @@ -220,6 +220,9 @@ class MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]): def __delitem__(self, v: _KT) -> None: ... def clear(self) -> None: ... + @overload + def pop(self, k: _KT) -> _VT: ... + @overload def pop(self, k: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ... def popitem(self) -> Tuple[_KT, _VT]: ... def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ... diff --git a/stdlib/3/typing.pyi b/stdlib/3/typing.pyi index 05deb1c32..422692d4e 100644 --- a/stdlib/3/typing.pyi +++ b/stdlib/3/typing.pyi @@ -295,6 +295,9 @@ class MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]): def __delitem__(self, v: _KT) -> None: ... def clear(self) -> None: ... + @overload + def pop(self, k: _KT) -> _VT: ... + @overload def pop(self, k: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ... def popitem(self) -> Tuple[_KT, _VT]: ... def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ...