Skip to content

Commit a22ca2e

Browse files
authored
make the default positional-or-keyword in Mapping.get and MutableMapping.pop (#6694)
1 parent 30133bb commit a22ca2e

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

stdlib/builtins.pyi

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -857,6 +857,15 @@ class dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):
857857
@classmethod
858858
@overload
859859
def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...
860+
# Positional-only in dict, but not in MutableMapping
861+
@overload
862+
def get(self, __key: _KT) -> _VT | None: ...
863+
@overload
864+
def get(self, __key: _KT, __default: _VT | _T) -> _VT | _T: ...
865+
@overload
866+
def pop(self, __key: _KT) -> _VT: ...
867+
@overload
868+
def pop(self, __key: _KT, __default: _VT | _T = ...) -> _VT | _T: ...
860869
def __len__(self) -> int: ...
861870
def __getitem__(self, __k: _KT) -> _VT: ...
862871
def __setitem__(self, __k: _KT, v: _VT) -> None: ...

stdlib/typing.pyi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -451,9 +451,9 @@ class Mapping(Collection[_KT], Generic[_KT, _VT_co]):
451451
def __getitem__(self, __k: _KT) -> _VT_co: ...
452452
# Mixin methods
453453
@overload
454-
def get(self, key: _KT) -> _VT_co | None: ...
454+
def get(self, __key: _KT) -> _VT_co | None: ...
455455
@overload
456-
def get(self, __key: _KT, __default: _VT_co | _T) -> _VT_co | _T: ...
456+
def get(self, __key: _KT, default: _VT_co | _T) -> _VT_co | _T: ...
457457
def items(self) -> ItemsView[_KT, _VT_co]: ...
458458
def keys(self) -> KeysView[_KT]: ...
459459
def values(self) -> ValuesView[_VT_co]: ...
@@ -468,7 +468,7 @@ class MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):
468468
@overload
469469
def pop(self, __key: _KT) -> _VT: ...
470470
@overload
471-
def pop(self, __key: _KT, __default: _VT | _T) -> _VT | _T: ...
471+
def pop(self, __key: _KT, default: _VT | _T) -> _VT | _T: ...
472472
def popitem(self) -> tuple[_KT, _VT]: ...
473473
# This overload should be allowed only if the value type is compatible with None.
474474
@overload

0 commit comments

Comments
 (0)