Make Mapping/MutableMapping params positional-only (#5772)

These are positional-only on dict, so it makes sense to mark them as positional-only in these base classes too.

Fixes #5771
This commit is contained in:
Jelle Zijlstra
2021-11-17 22:54:58 -08:00
committed by GitHub
parent 77810277d5
commit 0d7064c357
4 changed files with 37 additions and 12 deletions

View File

@@ -431,29 +431,29 @@ class Mapping(Collection[_KT], Generic[_KT, _VT_co]):
# TODO: We wish the key type could also be covariant, but that doesn't work,
# see discussion in https://github.com/python/typing/pull/273.
@abstractmethod
def __getitem__(self, k: _KT) -> _VT_co: ...
def __getitem__(self, __k: _KT) -> _VT_co: ...
# Mixin methods
@overload
def get(self, key: _KT) -> _VT_co | None: ...
@overload
def get(self, key: _KT, default: _VT_co | _T) -> _VT_co | _T: ...
def get(self, __key: _KT, __default: _VT_co | _T) -> _VT_co | _T: ...
def items(self) -> ItemsView[_KT, _VT_co]: ...
def keys(self) -> KeysView[_KT]: ...
def values(self) -> ValuesView[_VT_co]: ...
def __contains__(self, o: object) -> bool: ...
def __contains__(self, __o: object) -> bool: ...
class MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):
@abstractmethod
def __setitem__(self, k: _KT, v: _VT) -> None: ...
def __setitem__(self, __k: _KT, __v: _VT) -> None: ...
@abstractmethod
def __delitem__(self, v: _KT) -> None: ...
def __delitem__(self, __v: _KT) -> None: ...
def clear(self) -> None: ...
@overload
def pop(self, key: _KT) -> _VT: ...
def pop(self, __key: _KT) -> _VT: ...
@overload
def pop(self, key: _KT, default: _VT | _T = ...) -> _VT | _T: ...
def pop(self, __key: _KT, __default: _VT | _T = ...) -> _VT | _T: ...
def popitem(self) -> tuple[_KT, _VT]: ...
def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...
def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...
# 'update' used to take a Union, but using overloading is better.
# The second overloaded type here is a bit too general, because
# Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],