Make Mapping.get(default) more constrained (#14360)

This commit is contained in:
Neil Mitchell
2025-07-02 11:24:32 +01:00
committed by GitHub
parent 75d8c88ec5
commit dbd3ad356e
12 changed files with 39 additions and 8 deletions
+4
View File
@@ -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]