Skip to content

Commit ae7430e

Browse files
committed
Mapping.{get,pop} can return default type
1 parent b98580d commit ae7430e

File tree

4 files changed

+8
-8
lines changed

4 files changed

+8
-8
lines changed

stdlib/2.7/__builtin__.pyi

+2-2
Original file line numberDiff line numberDiff line change
@@ -534,8 +534,8 @@ class dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):
534534
def has_key(self, k: _KT) -> bool: ...
535535
def clear(self) -> None: ...
536536
def copy(self) -> Dict[_KT, _VT]: ...
537-
def get(self, k: _KT, default: _VT = None) -> _VT: ...
538-
def pop(self, k: _KT, default: _VT = ...) -> _VT: ...
537+
def get(self, k: _KT, default: _T = None) -> Union[_VT, _T]: ...
538+
def pop(self, k: _KT, default: _T = ...) -> Union[_VT, _T]: ...
539539
def popitem(self) -> Tuple[_KT, _VT]: ...
540540
def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ...
541541
@overload

stdlib/2.7/typing.pyi

+2-2
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ class Mapping(Sized, Iterable[_KT], Container[_KT], Generic[_KT, _VT]):
161161
@abstractmethod
162162
def __getitem__(self, k: _KT) -> _VT: ...
163163
# Mixin methods
164-
def get(self, k: _KT, default: _VT = ...) -> _VT: ...
164+
def get(self, k: _KT, default: _T = ...) -> Union[_VT, _T]: ...
165165
def keys(self) -> list[_KT]: ...
166166
def values(self) -> list[_VT]: ...
167167
def items(self) -> list[Tuple[_KT, _VT]]: ...
@@ -177,7 +177,7 @@ class MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):
177177
def __delitem__(self, v: _KT) -> None: ...
178178

179179
def clear(self) -> None: ...
180-
def pop(self, k: _KT, default: _VT = ...) -> _VT: ...
180+
def pop(self, k: _KT, default: _T = ...) -> Union[_VT, _T]: ...
181181
def popitem(self) -> Tuple[_KT, _VT]: ...
182182
def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ...
183183
@overload

stdlib/3/builtins.pyi

+2-2
Original file line numberDiff line numberDiff line change
@@ -507,8 +507,8 @@ class dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):
507507
def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...
508508
def clear(self) -> None: ...
509509
def copy(self) -> Dict[_KT, _VT]: ...
510-
def get(self, k: _KT, default: _VT = None) -> _VT: ...
511-
def pop(self, k: _KT, default: _VT = None) -> _VT: ...
510+
def get(self, k: _KT, default: _T = None) -> Union[_VT, _T]: ...
511+
def pop(self, k: _KT, default: _T = None) -> Union[_VT, _T]: ...
512512
def popitem(self) -> Tuple[_KT, _VT]: ...
513513
def setdefault(self, k: _KT, default: _VT = None) -> _VT: ...
514514
@overload

stdlib/3/typing.pyi

+2-2
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ class Mapping(Iterable[_KT], Container[_KT], Sized, Generic[_KT, _VT]):
221221
@abstractmethod
222222
def __getitem__(self, k: _KT) -> _VT: ...
223223
# Mixin methods
224-
def get(self, k: _KT, default: _VT = ...) -> _VT: ...
224+
def get(self, k: _KT, default: _T = ...) -> Union[_VT, _T]: ...
225225
def items(self) -> AbstractSet[Tuple[_KT, _VT]]: ...
226226
def keys(self) -> AbstractSet[_KT]: ...
227227
def values(self) -> ValuesView[_VT]: ...
@@ -234,7 +234,7 @@ class MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):
234234
def __delitem__(self, v: _KT) -> None: ...
235235

236236
def clear(self) -> None: ...
237-
def pop(self, k: _KT, default: _VT = ...) -> _VT: ...
237+
def pop(self, k: _KT, default: _T = ...) -> Union[_VT, _T]: ...
238238
def popitem(self) -> Tuple[_KT, _VT]: ...
239239
def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ...
240240
# 'update' used to take a Union, but using overloading is better.

0 commit comments

Comments
 (0)