mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-10 14:01:55 +08:00
Fix usage of byte2int with bytes (#9152)
This commit is contained in:
@@ -2,18 +2,24 @@ import builtins
|
||||
import operator
|
||||
import types
|
||||
import unittest
|
||||
from _typeshed import IdentityFunction, SupportsGetItem
|
||||
from _typeshed import IdentityFunction, _KT_contra, _VT_co
|
||||
from builtins import next as next
|
||||
from collections.abc import Callable, ItemsView, Iterable, Iterator as _Iterator, KeysView, Mapping, ValuesView
|
||||
from functools import wraps as wraps
|
||||
from importlib.util import spec_from_loader as spec_from_loader
|
||||
from io import BytesIO as BytesIO, StringIO as StringIO
|
||||
from re import Pattern
|
||||
from typing import Any, AnyStr, NoReturn, TypeVar, overload
|
||||
from typing import Any, AnyStr, NoReturn, Protocol, TypeVar, overload
|
||||
from typing_extensions import Literal
|
||||
|
||||
from six import moves as moves
|
||||
|
||||
# TODO: We should switch to the _typeshed version of SupportsGetItem
|
||||
# once mypy updates its vendored copy of typeshed and makes a new release
|
||||
class _SupportsGetItem(Protocol[_KT_contra, _VT_co]):
|
||||
def __contains__(self, __x: Any) -> bool: ...
|
||||
def __getitem__(self, __key: _KT_contra) -> _VT_co: ...
|
||||
|
||||
_T = TypeVar("_T")
|
||||
_K = TypeVar("_K")
|
||||
_V = TypeVar("_V")
|
||||
@@ -65,8 +71,8 @@ unichr = chr
|
||||
|
||||
def int2byte(i: int) -> bytes: ...
|
||||
|
||||
# Should be `byte2int: operator.itemgetter[int]`. But a bug in mypy prevents using TypeVar in itemgetter__call__
|
||||
def byte2int(obj: SupportsGetItem[int, _T]) -> _T: ...
|
||||
# Should be `byte2int: operator.itemgetter[int]`. But a bug in mypy prevents using TypeVar in itemgetter.__call__
|
||||
def byte2int(obj: _SupportsGetItem[int, _T]) -> _T: ...
|
||||
|
||||
indexbytes = operator.getitem
|
||||
iterbytes = iter
|
||||
|
||||
Reference in New Issue
Block a user