diff --git a/stdlib/2.7/__builtin__.pyi b/stdlib/2.7/__builtin__.pyi index 63bce2e93..507cde958 100644 --- a/stdlib/2.7/__builtin__.pyi +++ b/stdlib/2.7/__builtin__.pyi @@ -8,7 +8,7 @@ from typing import ( Sequence, Mapping, Tuple, List, Any, Dict, Callable, Generic, Set, AbstractSet, Sized, Reversible, SupportsInt, SupportsFloat, SupportsAbs, SupportsRound, IO, BinaryIO, Union, AnyStr, MutableSequence, MutableMapping, - MutableSet, Optional, + MutableSet ) from abc import abstractmethod, ABCMeta @@ -534,14 +534,8 @@ class dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]): def has_key(self, k: _KT) -> bool: ... def clear(self) -> None: ... def copy(self) -> Dict[_KT, _VT]: ... - @overload - def get(self, k: _KT) -> Optional[_VT]: ... - @overload - def get(self, k: _KT, default: _T) -> Union[_VT, _T]: ... - @overload - def pop(self, k: _KT) -> _VT: ... - @overload - def pop(self, k: _KT, default: _T) -> Union[_VT, _T]: ... + def get(self, k: _KT, default: _VT = None) -> _VT: ... + def pop(self, k: _KT, default: _VT = ...) -> _VT: ... def popitem(self) -> Tuple[_KT, _VT]: ... def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ... @overload diff --git a/stdlib/2.7/typing.pyi b/stdlib/2.7/typing.pyi index edf759da0..9d7446909 100644 --- a/stdlib/2.7/typing.pyi +++ b/stdlib/2.7/typing.pyi @@ -157,20 +157,17 @@ class MutableSet(AbstractSet[_T], Generic[_T]): def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ... def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ... -class Mapping(Sized, Iterable[_KT], Container[_KT], Generic[_KT, _VT_co]): +class Mapping(Sized, Iterable[_KT], Container[_KT], Generic[_KT, _VT]): @abstractmethod - def __getitem__(self, k: _KT) -> _VT_co: ... + def __getitem__(self, k: _KT) -> _VT: ... # Mixin methods - @overload - def get(self, k: _KT) -> Optional[_VT_co]: ... - @overload - def get(self, k: _KT, default: _T) -> Union[_VT_co, _T]: ... + def get(self, k: _KT, default: _VT = ...) -> _VT: ... def keys(self) -> list[_KT]: ... - def values(self) -> list[_VT_co]: ... - def items(self) -> list[Tuple[_KT, _VT_co]]: ... + def values(self) -> list[_VT]: ... + def items(self) -> list[Tuple[_KT, _VT]]: ... def iterkeys(self) -> Iterator[_KT]: ... - def itervalues(self) -> Iterator[_VT_co]: ... - def iteritems(self) -> Iterator[Tuple[_KT, _VT_co]]: ... + def itervalues(self) -> Iterator[_VT]: ... + def iteritems(self) -> Iterator[Tuple[_KT, _VT]]: ... def __contains__(self, o: object) -> bool: ... class MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]): @@ -180,10 +177,7 @@ 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: _T) -> Union[_VT, _T]: ... + def pop(self, k: _KT, default: _VT = ...) -> _VT: ... def popitem(self) -> Tuple[_KT, _VT]: ... def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ... @overload diff --git a/stdlib/3/builtins.pyi b/stdlib/3/builtins.pyi index 181652999..e0c41892b 100644 --- a/stdlib/3/builtins.pyi +++ b/stdlib/3/builtins.pyi @@ -4,7 +4,7 @@ from typing import ( TypeVar, Iterator, Iterable, overload, Sequence, MutableSequence, Mapping, MutableMapping, Tuple, List, Any, Dict, Callable, Generic, Set, AbstractSet, MutableSet, Sized, Reversible, SupportsInt, SupportsFloat, SupportsBytes, - SupportsAbs, SupportsRound, IO, Union, ItemsView, KeysView, ValuesView, ByteString, Optional, + SupportsAbs, SupportsRound, IO, Union, ItemsView, KeysView, ValuesView, ByteString ) from abc import abstractmethod, ABCMeta @@ -507,14 +507,8 @@ class dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]): def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ... def clear(self) -> None: ... def copy(self) -> Dict[_KT, _VT]: ... - @overload - def get(self, k: _KT) -> Optional[_VT]: ... - @overload - def get(self, k: _KT, default: _T) -> Union[_VT, _T]: ... - @overload - def pop(self, k: _KT) -> _VT: ... - @overload - def pop(self, k: _KT, default: _T) -> Union[_VT, _T]: ... + def get(self, k: _KT, default: _VT = None) -> _VT: ... + def pop(self, k: _KT, default: _VT = None) -> _VT: ... def popitem(self) -> Tuple[_KT, _VT]: ... def setdefault(self, k: _KT, default: _VT = None) -> _VT: ... @overload diff --git a/stdlib/3/typing.pyi b/stdlib/3/typing.pyi index 248ef2230..33235c799 100644 --- a/stdlib/3/typing.pyi +++ b/stdlib/3/typing.pyi @@ -215,19 +215,16 @@ class ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]): # TODO: ContextManager (only if contextlib.AbstractContextManager exists) -class Mapping(Iterable[_KT], Container[_KT], Sized, Generic[_KT, _VT_co]): +class Mapping(Iterable[_KT], Container[_KT], Sized, Generic[_KT, _VT]): # TODO: Value type should be covariant, but currently we can't give a good signature for # get if this is the case. @abstractmethod - def __getitem__(self, k: _KT) -> _VT_co: ... + def __getitem__(self, k: _KT) -> _VT: ... # Mixin methods - @overload - def get(self, k: _KT) -> Optional[_VT_co]: ... - @overload - def get(self, k: _KT, default: _T) -> Union[_VT_co, _T]: ... - def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ... + def get(self, k: _KT, default: _VT = ...) -> _VT: ... + def items(self) -> AbstractSet[Tuple[_KT, _VT]]: ... def keys(self) -> AbstractSet[_KT]: ... - def values(self) -> ValuesView[_VT_co]: ... + def values(self) -> ValuesView[_VT]: ... def __contains__(self, o: object) -> bool: ... class MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]): @@ -237,10 +234,7 @@ 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: _T) -> Union[_VT, _T]: ... + def pop(self, k: _KT, default: _VT = ...) -> _VT: ... def popitem(self) -> Tuple[_KT, _VT]: ... def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ... # 'update' used to take a Union, but using overloading is better.