Separate MutableMapping.pop into 2 overloaded methods (#1045)

This makes calls with the default value not return a Union
This commit is contained in:
David Euresti
2017-03-21 22:30:27 -07:00
committed by Jelle Zijlstra
parent af2fadc180
commit 4ac642bd49
2 changed files with 6 additions and 0 deletions

View File

@@ -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: ...

View File

@@ -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: ...