Harmonise UserDict.fromkeys with dict.fromkeys (#6488)

This commit is contained in:
Alex Waygood
2021-12-04 12:56:30 +00:00
committed by GitHub
parent da895e3944
commit 9e0ee447c6
2 changed files with 9 additions and 2 deletions

View File

@@ -45,8 +45,15 @@ class UserDict(MutableMapping[_KT, _VT]):
def __iter__(self) -> Iterator[_KT]: ...
def __contains__(self, key: object) -> bool: ...
def copy(self: Self) -> Self: ...
# `UserDict.fromkeys` has the same semantics as `dict.fromkeys`, so should be kept in line with `dict.fromkeys`.
# TODO: Much like `dict.fromkeys`, the true signature of `UserDict.fromkeys` is inexpressable in the current type system.
# See #3800 & https://github.com/python/typing/issues/548#issuecomment-683336963.
@classmethod
def fromkeys(cls: Type[Self], iterable: Iterable[_KT], value: _VT | None = ...) -> Self: ...
@overload
def fromkeys(cls, iterable: Iterable[_T], value: None = ...) -> UserDict[_T, Any | None]: ...
@classmethod
@overload
def fromkeys(cls, iterable: Iterable[_T], value: _S) -> UserDict[_T, _S]: ...
class UserList(MutableSequence[_T]):
data: list[_T]