mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-07 20:54:28 +08:00
Add functools._make_key (#5370)
* Add functools._make_key * Added _HashedSeq class
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import sys
|
||||
from _typeshed import SupportsLessThan
|
||||
from _typeshed import SupportsItems, SupportsLessThan
|
||||
from typing import (
|
||||
Any,
|
||||
Callable,
|
||||
@@ -7,10 +7,13 @@ from typing import (
|
||||
Generic,
|
||||
Hashable,
|
||||
Iterable,
|
||||
List,
|
||||
Mapping,
|
||||
NamedTuple,
|
||||
Optional,
|
||||
Sequence,
|
||||
Set,
|
||||
Sized,
|
||||
Tuple,
|
||||
Type,
|
||||
TypeVar,
|
||||
@@ -131,3 +134,20 @@ if sys.version_info >= (3, 8):
|
||||
|
||||
if sys.version_info >= (3, 9):
|
||||
def cache(__user_function: Callable[..., _T]) -> _lru_cache_wrapper[_T]: ...
|
||||
|
||||
class _HashedSeq(Generic[_T], List[_T]):
|
||||
__slots__: str
|
||||
hashvalue: int
|
||||
def __init__(self, tup: Tuple[Any, ...], hash: Callable[[object], int] = ...) -> None: ...
|
||||
def __hash__(self) -> int: ... # type: ignore
|
||||
|
||||
def _make_key(
|
||||
args: Tuple[Hashable, ...],
|
||||
kwds: SupportsItems[Any, Any],
|
||||
typed: bool,
|
||||
kwd_mark: Tuple[object, ...] = ...,
|
||||
fasttypes: Set[type] = ...,
|
||||
tuple: type = ...,
|
||||
type: Any = ...,
|
||||
len: Callable[[Sized], int] = ...,
|
||||
) -> Union[Hashable, _HashedSeq[Any]]: ...
|
||||
|
||||
Reference in New Issue
Block a user