Skip to content

Commit 2fdcd2e

Browse files
eurestiambv
authored andcommitted
Let MutableMapping.pop take a different default type. (#1044)
This is particularly useful for the idiom `d.pop(k, None)` to remove an item if it exists. Fixes #278
1 parent d57bce3 commit 2fdcd2e

File tree

4 files changed

+2
-4
lines changed

4 files changed

+2
-4
lines changed

stdlib/2/__builtin__.pyi

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,6 @@ class dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):
558558
def has_key(self, k: _KT) -> bool: ...
559559
def clear(self) -> None: ...
560560
def copy(self) -> Dict[_KT, _VT]: ...
561-
def pop(self, k: _KT, default: _VT = ...) -> _VT: ...
562561
def popitem(self) -> Tuple[_KT, _VT]: ...
563562
def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ...
564563
@overload

stdlib/2/typing.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ class MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):
221221
def __delitem__(self, v: _KT) -> None: ...
222222

223223
def clear(self) -> None: ...
224-
def pop(self, k: _KT, default: _VT = ...) -> _VT: ...
224+
def pop(self, k: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...
225225
def popitem(self) -> Tuple[_KT, _VT]: ...
226226
def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ...
227227
@overload

stdlib/3/builtins.pyi

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,6 @@ class dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):
611611
def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...
612612
def clear(self) -> None: ...
613613
def copy(self) -> Dict[_KT, _VT]: ...
614-
def pop(self, k: _KT, default: _VT = None) -> _VT: ...
615614
def popitem(self) -> Tuple[_KT, _VT]: ...
616615
def setdefault(self, k: _KT, default: _VT = None) -> _VT: ...
617616
@overload

stdlib/3/typing.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ class MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):
296296
def __delitem__(self, v: _KT) -> None: ...
297297

298298
def clear(self) -> None: ...
299-
def pop(self, k: _KT, default: _VT = ...) -> _VT: ...
299+
def pop(self, k: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...
300300
def popitem(self) -> Tuple[_KT, _VT]: ...
301301
def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ...
302302
# 'update' used to take a Union, but using overloading is better.

0 commit comments

Comments
 (0)