mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-07 12:44:28 +08:00
Improve collections stubs (#9674)
This commit is contained in:
@@ -125,12 +125,12 @@ class UserList(MutableSequence[_T]):
|
||||
def __copy__(self: Self) -> Self: ...
|
||||
def count(self, item: _T) -> int: ...
|
||||
# All arguments are passed to `list.index` at runtime, so the signature should be kept in line with `list.index`.
|
||||
def index(self, item: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...) -> int: ...
|
||||
def index(self, item: _T, __start: SupportsIndex = 0, __stop: SupportsIndex = sys.maxsize) -> int: ...
|
||||
# All arguments are passed to `list.sort` at runtime, so the signature should be kept in line with `list.sort`.
|
||||
@overload
|
||||
def sort(self: UserList[SupportsRichComparisonT], *, key: None = ..., reverse: bool = ...) -> None: ...
|
||||
def sort(self: UserList[SupportsRichComparisonT], *, key: None = None, reverse: bool = False) -> None: ...
|
||||
@overload
|
||||
def sort(self, *, key: Callable[[_T], SupportsRichComparison], reverse: bool = ...) -> None: ...
|
||||
def sort(self, *, key: Callable[[_T], SupportsRichComparison], reverse: bool = False) -> None: ...
|
||||
def extend(self, other: Iterable[_T]) -> None: ...
|
||||
|
||||
class UserString(Sequence[UserString]):
|
||||
@@ -218,9 +218,9 @@ class deque(MutableSequence[_T], Generic[_T]):
|
||||
@property
|
||||
def maxlen(self) -> int | None: ...
|
||||
@overload
|
||||
def __init__(self, *, maxlen: int | None = ...) -> None: ...
|
||||
def __init__(self, *, maxlen: int | None = None) -> None: ...
|
||||
@overload
|
||||
def __init__(self, iterable: Iterable[_T], maxlen: int | None = ...) -> None: ...
|
||||
def __init__(self, iterable: Iterable[_T], maxlen: int | None = None) -> None: ...
|
||||
def append(self, __x: _T) -> None: ...
|
||||
def appendleft(self, __x: _T) -> None: ...
|
||||
def copy(self: Self) -> Self: ...
|
||||
@@ -228,11 +228,11 @@ class deque(MutableSequence[_T], Generic[_T]):
|
||||
def extend(self, __iterable: Iterable[_T]) -> None: ...
|
||||
def extendleft(self, __iterable: Iterable[_T]) -> None: ...
|
||||
def insert(self, __i: int, __x: _T) -> None: ...
|
||||
def index(self, __x: _T, __start: int = ..., __stop: int = ...) -> int: ...
|
||||
def index(self, __x: _T, __start: int = 0, __stop: int = ...) -> int: ...
|
||||
def pop(self) -> _T: ... # type: ignore[override]
|
||||
def popleft(self) -> _T: ...
|
||||
def remove(self, __value: _T) -> None: ...
|
||||
def rotate(self, __n: int = ...) -> None: ...
|
||||
def rotate(self, __n: int = 1) -> None: ...
|
||||
def __copy__(self: Self) -> Self: ...
|
||||
def __len__(self) -> int: ...
|
||||
# These methods of deque don't take slices, unlike MutableSequence, hence the type: ignores
|
||||
@@ -281,9 +281,9 @@ class Counter(dict[_T, int], Generic[_T]):
|
||||
@overload # type: ignore[override]
|
||||
def update(self, __m: Mapping[_T, int], **kwargs: int) -> None: ...
|
||||
@overload
|
||||
def update(self, __m: Iterable[_T], **kwargs: int) -> None: ...
|
||||
def update(self, __iterable: Iterable[_T], **kwargs: int) -> None: ...
|
||||
@overload
|
||||
def update(self, __m: None = ..., **kwargs: int) -> None: ...
|
||||
def update(self, __iterable: None = None, **kwargs: int) -> None: ...
|
||||
def __missing__(self, key: _T) -> int: ...
|
||||
def __delitem__(self, elem: object) -> None: ...
|
||||
if sys.version_info >= (3, 10):
|
||||
@@ -412,13 +412,13 @@ class ChainMap(MutableMapping[_KT, _VT], Generic[_KT, _VT]):
|
||||
@overload
|
||||
def pop(self, key: _KT) -> _VT: ...
|
||||
@overload
|
||||
def pop(self, key: _KT, default: _VT | _T = ...) -> _VT | _T: ...
|
||||
def pop(self, key: _KT, default: _VT | _T) -> _VT | _T: ...
|
||||
def copy(self: Self) -> Self: ...
|
||||
__copy__ = copy
|
||||
# All arguments to `fromkeys` are passed to `dict.fromkeys` at runtime, so the signature should be kept in line with `dict.fromkeys`.
|
||||
@classmethod
|
||||
@overload
|
||||
def fromkeys(cls, iterable: Iterable[_T], __value: None = ...) -> ChainMap[_T, Any | None]: ...
|
||||
def fromkeys(cls, iterable: Iterable[_T], __value: None = None) -> ChainMap[_T, Any | None]: ...
|
||||
@classmethod
|
||||
@overload
|
||||
def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> ChainMap[_T, _S]: ...
|
||||
|
||||
Reference in New Issue
Block a user