mirror of
https://github.com/davidhalter/typeshed.git
synced 2026-05-06 21:43:59 +08:00
Make Mapping.get(default) more constrained (#14360)
This commit is contained in:
@@ -108,6 +108,8 @@ class UserDict(MutableMapping[_KT, _VT]):
|
||||
@overload
|
||||
def get(self, key: _KT, default: None = None) -> _VT | None: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _VT) -> _VT: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _T) -> _VT | _T: ...
|
||||
|
||||
class UserList(MutableSequence[_T]):
|
||||
@@ -452,6 +454,8 @@ class ChainMap(MutableMapping[_KT, _VT]):
|
||||
@overload
|
||||
def get(self, key: _KT, default: None = None) -> _VT | None: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _VT) -> _VT: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _T) -> _VT | _T: ...
|
||||
def __missing__(self, key: _KT) -> _VT: ... # undocumented
|
||||
def __bool__(self) -> bool: ...
|
||||
|
||||
@@ -140,6 +140,8 @@ if sys.version_info >= (3, 10) and sys.version_info < (3, 12):
|
||||
@overload
|
||||
def get(self, name: _KT, default: None = None) -> _VT | None: ...
|
||||
@overload
|
||||
def get(self, name: _KT, default: _VT) -> _VT: ...
|
||||
@overload
|
||||
def get(self, name: _KT, default: _T) -> _VT | _T: ...
|
||||
def __iter__(self) -> Iterator[_KT]: ...
|
||||
def __contains__(self, *args: object) -> bool: ...
|
||||
|
||||
+3
-1
@@ -323,7 +323,9 @@ class MappingProxyType(Mapping[_KT, _VT_co]):
|
||||
@overload
|
||||
def get(self, key: _KT, /) -> _VT_co | None: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _VT_co | _T2, /) -> _VT_co | _T2: ...
|
||||
def get(self, key: _KT, default: _VT_co, /) -> _VT_co: ... # type: ignore[misc] # pyright: ignore[reportGeneralTypeIssues] # Covariant type as parameter
|
||||
@overload
|
||||
def get(self, key: _KT, default: _T2, /) -> _VT_co | _T2: ...
|
||||
def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
|
||||
def __reversed__(self) -> Iterator[_KT]: ...
|
||||
def __or__(self, value: Mapping[_T1, _T2], /) -> dict[_KT | _T1, _VT_co | _T2]: ...
|
||||
|
||||
+3
-1
@@ -745,7 +745,9 @@ class Mapping(Collection[_KT], Generic[_KT, _VT_co]):
|
||||
@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) -> _VT_co: ... # type: ignore[misc] # pyright: ignore[reportGeneralTypeIssues] # Covariant type as parameter
|
||||
@overload
|
||||
def get(self, key: _KT, /, default: _T) -> _VT_co | _T: ...
|
||||
def items(self) -> ItemsView[_KT, _VT_co]: ...
|
||||
def keys(self) -> KeysView[_KT]: ...
|
||||
def values(self) -> ValuesView[_VT_co]: ...
|
||||
|
||||
@@ -99,6 +99,8 @@ class WeakValueDictionary(MutableMapping[_KT, _VT]):
|
||||
@overload
|
||||
def get(self, key: _KT, default: None = None) -> _VT | None: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _VT) -> _VT: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _T) -> _VT | _T: ...
|
||||
# These are incompatible with Mapping
|
||||
def keys(self) -> Iterator[_KT]: ... # type: ignore[override]
|
||||
@@ -149,6 +151,8 @@ class WeakKeyDictionary(MutableMapping[_KT, _VT]):
|
||||
@overload
|
||||
def get(self, key: _KT, default: None = None) -> _VT | None: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _VT) -> _VT: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _T) -> _VT | _T: ...
|
||||
# These are incompatible with Mapping
|
||||
def keys(self) -> Iterator[_KT]: ... # type: ignore[override]
|
||||
|
||||
Reference in New Issue
Block a user