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
@@ -72,7 +72,9 @@ class ScalarMap(MutableMapping[_K, _ScalarV]):
@overload
def get(self, key: _K, default: None = None) -> _ScalarV | None: ...
@overload
def get(self, key: _K, default: _ScalarV | _T) -> _ScalarV | _T: ...
def get(self, key: _K, default: _ScalarV) -> _ScalarV: ...
@overload
def get(self, key: _K, default: _T) -> _ScalarV | _T: ...
def setdefault(self, key: _K, value: _ScalarV | None = None) -> _ScalarV: ...
def MergeFrom(self, other: Self): ...
def InvalidateIterators(self) -> None: ...
@@ -95,7 +97,9 @@ class MessageMap(MutableMapping[_K, _MessageV]):
@overload
def get(self, key: _K, default: None = None) -> _MessageV | None: ...
@overload
def get(self, key: _K, default: _MessageV | _T) -> _MessageV | _T: ...
def get(self, key: _K, default: _MessageV) -> _MessageV: ...
@overload
def get(self, key: _K, default: _T) -> _MessageV | _T: ...
def get_or_create(self, key: _K) -> _MessageV: ...
def setdefault(self, key: _K, value: _MessageV | None = None) -> _MessageV: ...
def MergeFrom(self, other: Self): ...