8000 builtins stubtest exceptions (#5219) · python/typeshed@d3b2caf · GitHub
[go: up one dir, main page]

Skip to content

Commit d3b2caf

Browse files
authored
builtins stubtest exceptions (#5219)
1 parent baea6c1 commit d3b2caf

File tree

2 files changed

+113
-101
lines changed

2 files changed

+113
-101
lines changed

stdlib/builtins.pyi

Lines changed: 106 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -472,14 +472,12 @@ class bytes(ByteString):
472472
def zfill(self, __width: int) -> bytes: ...
473473
@classmethod
474474
def fromhex(cls, __s: str) -> bytes: ...
475-
@classmethod
476-
def maketrans(cls, frm: bytes, to: bytes) -> bytes: ...
475+
@staticmethod
476+
def maketrans(__frm: bytes, __to: bytes) -> bytes: ...
477477
def __len__(self) -> int: ...
478478
def __iter__(self) -> Iterator[int]: ...
479479
def __str__(self) -> str: ...
480480
def __repr__(self) -> str: ...
481-
def __int__(self) -> int: ...
482-
def __float__(self) -> float: ...
483481
def __hash__(self) -> int: ...
484482
@overload
485483
def __getitem__(self, i: int) -> int: ...
@@ -508,6 +506,7 @@ class bytearray(MutableSequence[int], ByteString):
508506
def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...
509507
@overload
510508
def __init__(self, length: int) -> None: ...
509+
def append(self, __item: int) -> None: ...
511510
def capitalize(self) -> bytearray: ...
512511< 8000 /code>
def center(self, __width: int, __fillchar: bytes = ...) -> bytearray: ...
513512
def count(self, __sub: Union[bytes, int], __start: Optional[int] = ..., __end: Optional[int] = ...) -> int: ...
@@ -517,6 +516,7 @@ class bytearray(MutableSequence[int], ByteString):
517516
self, __suffix: Union[bytes, Tuple[bytes, ...]], __start: Optional[int] = ..., __end: Optional[int] = ...
518517
) -> bool: ...
519518
def expandtabs(self, tabsize: int = ...) -> bytearray: ...
519+
def extend(self, __iterable_of_ints: Iterable[int]) -> None: ...
520520
def find(self, __sub: Union[bytes, int], __start: Optional[int] = ..., __end: Optional[int] = ...) -> int: ...
521521
if sys.version_info >= (3, 8):
522522
def hex(self, sep: Union[str, bytes] = ..., bytes_per_sep: int = ...) -> str: ...
@@ -561,14 +561,12 @@ class bytearray(MutableSequence[int], ByteString):
561561
def zfill(self, __width: int) -> bytearray: ...
562562
@classmethod
563563
def fromhex(cls, __string: str) -> bytearray: ...
564-
@classmethod
565-
def maketrans(cls, __frm: bytes, __to: bytes) -> bytes: ...
564+
@staticmethod
565+
def maketrans(__frm: bytes, __to: bytes) -> bytes: ...
566566
def __len__(self) -> int: ...
567567
def __iter__(self) -> Iterator[int]: ...
568568
def __str__(self) -> str: ...
569569
def __repr__(self) -> str: ...
570-
def __int__(self) -> int: ...
571-
def __float__(self) -> float: ...
572570
__hash__: None # type: ignore
573571
@overload
574572
def __getitem__(self, i: int) -> int: ...
@@ -890,6 +888,9 @@ class range(Sequence[int]):
890888
def __reversed__(self) -> Iterator[int]: ...
891889

892890
class property(object):
891+
fget: Optional[Callable[[Any], Any]]
892+
fset: Optional[Callable[[Any, Any], None]]
893+
fdel: Optional[Callable[[Any], None]]
893894
def __init__(
894895
self,
895896
fget: Optional[Callable[[Any], Any]] = ...,
@@ -903,9 +904,6 @@ class property(object):
903904
def __get__(self, obj: Any, type: Optional[type] = ...) -> Any: ...
904905
def __set__(self, obj: Any, value: Any) -> None: ...
905906
def __delete__(self, obj: Any) -> None: ...
906-
def fget(self) -> Any: ...
907-
def fset(self, value: Any) -> None: ...
908-
def fdel(self) -> None: ...
909907

910908
class _NotImplementedType(Any): # type: ignore
911909
# A little weird, but typing the __call__ as NotImplemented makes the error message
@@ -973,10 +971,15 @@ def exec(
973971
__locals: Optional[Mapping[str, Any]] = ...,
974972
) -> Any: ...
975973
def exit(code: object = ...) -> NoReturn: ...
976-
@overload
977-
def filter(__function: None, __iterable: Iterable[Optional[_T]]) -> Iterator[_T]: ...
978-
@overload
979-
def filter(__function: Callable[[_T], Any], __iterable: Iterable[_T]) -> Iterator[_T]: ...
974+
975+
class filter(Iterator[_T], Generic[_T]):
976+
@overload
977+
def __init__(self, __function: None, __iterable: Iterable[Optional[_T]]) -> None: ...
978+
@overload
979+
def __init__(self, __function: Callable[[_T], Any], __iterable: Iterable[_T]) -> None: ...
980+
def __iter__(self) -> Iterator[_T]: ...
981+
def __next__(self) -> _T: ...
982+
980983
def format(__value: object, __format_spec: str = ...) -> str: ... # TODO unicode
981984
def getattr(__o: Any, name: str, __default: Any = ...) -> Any: ...
982985
def globals() -> Dict[str, Any]: ...
@@ -997,42 +1000,50 @@ def issubclass(__cls: type, __class_or_tuple: Union[type, Tuple[Union[type, Tupl
9971000
def len(__obj: Sized) -> int: ...
9981001
def license() -> None: ...
9991002
def locals() -> Dict[str, Any]: ...
1000-
@overload
1001-
def map(__func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> Iterator[_S]: ...
1002-
@overload
1003-
def map(__func: Callable[[_T1, _T2], _S], __iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> Iterator[_S]: ...
1004-
@overload
1005-
def map(
1006-
__func: Callable[[_T1, _T2, _T3], _S], __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]
1007-
) -> Iterator[_S]: ...
1008-
@overload
1009-
def map(
1010-
__func: Callable[[_T1, _T2, _T3, _T4], _S],
1011-
__iter1: Iterable[_T1],
1012-
__iter2: Iterable[_T2],
1013-
__iter3: Iterable[_T3],
1014-
__iter4: Iterable[_T4],
1015-
) -> Iterator[_S]: ...
1016-
@overload
1017-
def map(
1018-
__func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],
1019-
__iter1: Iterable[_T1],
1020-
__iter2: Iterable[_T2],
1021-
__iter3: Iterable[_T3],
1022-
__iter4: Iterable[_T4],
1023-
__iter5: Iterable[_T5],
1024-
) -> Iterator[_S]: ...
1025-
@overload
1026-
def map(
1027-
__func: Callable[..., _S],
1028-
__iter1: Iterable[Any],
1029-
__iter2: Iterable[Any],
1030-
__iter3: Iterable[Any],
1031-
__iter4: Iterable[Any],
1032-
__iter5: Iterable[Any],
1033-
__iter6: Iterable[Any],
1034-
*iterables: Iterable[Any],
1035-
) -> Iterator[_S]: ...
1003+
1004+
class map(Iterator[_S], Generic[_S]):
1005+
@overload
1006+
def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...
1007+
@overload
1008+
def __init__(self, __func: Callable[[_T1, _T2], _S], __iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> None: ...
1009+
@overload
1010+
def __init__(
1011+
self, __func: Callable[[_T1, _T2, _T3], _S], __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]
1012+
) -> None: ...
1013+
@overload
1014+
def __init__(
1015+
self,
1016+
__func: Callable[[_T1, _T2, _T3, _T4], _S],
1017+
__iter1: Iterable[_T1],
1018+
__iter2: Iterable[_T2],
1019+
__iter3: Iterable[_T3],
1020+
__iter4: Iterable[_T4],
1021+
) -> None: ...
1022+
@overload
1023+
def __init__(
1024+
self,
1025+
__func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],
1026+
__iter1: Iterable[_T1],
1027+
__iter2: Iterable[_T2],
1028+
__iter3: Iterable[_T3],
1029+
__iter4: Iterable[_T4],
1030+
__iter5: Iterable[_T5],
1031+
) -> None: ...
1032+
@overload
1033+
def __init__(
1034+
self,
1035+
__func: Callable[..., _S],
1036+
__iter1: Iterable[Any],
1037+
__iter2: Iterable[Any],
1038+
__iter3: Iterable[Any],
1039+
__iter4: Iterable[Any],
1040+
__iter5: Iterable[Any],
1041+
__iter6: Iterable[Any],
1042+
*iterables: Iterable[Any],
1043+
) -> None: ...
1044+
def __iter__(self) -> Iterator[_S]: ...
1045+
def __next__(self) -> _S: ...
1046+
10361047
@overload
10371048
def max(
10381049
__arg1: SupportsLessThanT, __arg2: SupportsLessThanT, *_args: SupportsLessThanT, key: None = ...
@@ -1201,10 +1212,15 @@ else:
12011212
def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...
12021213

12031214
def quit(code: object = ...) -> NoReturn: ...
1204-
@overload
1205-
def reversed(__sequence: Sequence[_T]) -> Iterator[_T]: ...
1206-
@overload
1207-
def reversed(__sequence: Reversible[_T]) -> Iterator[_T]: ...
1215+
1216+
class reversed(Iterator[_T], Generic[_T]):
1217+
@overload
1218+
def __init__(self, __sequence: Sequence[_T]) -> None: ...
1219+
@overload
1220+
def __init__(self, __sequence: Reversible[_T]) -> None: ...
1221+
def __iter__(self) -> Iterator[_T]: ...
1222+
def __next__(self) -> _T: ...
1223+
12081224
def repr(__obj: object) -> str: ...
12091225
@overload
12101226
def round(number: SupportsRound[Any]) -> int: ...
@@ -1231,30 +1247,41 @@ else:
12311247
def sum(__iterable: Iterable[_T], __start: _S) -> Union[_T, _S]: ...
12321248

12331249
def vars(__object: Any = ...) -> Dict[str, Any]: ...
1234-
@overload
1235-
def zip(__iter1: Iterable[_T1]) -> Iterator[Tuple[_T1]]: ...
1236-
@overload
1237-
def zip(__iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> Iterator[Tuple[_T1, _T2]]: ...
1238-
@overload
1239-
def zip(__iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]) -> Iterator[Tuple[_T1, _T2, _T3]]: ...
1240-
@overload
1241-
def zip(
1242-
__iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4]
1243-
) -> Iterator[Tuple[_T1, _T2, _T3, _T4]]: ...
1244-
@overload
1245-
def zip(
1246-
__iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4], __iter5: Iterable[_T5]
1247-
) -> Iterator[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...
1248-
@overload
1249-
def zip(
1250-
__iter1: Iterable[Any],
1251-
__iter2: Iterable[Any],
1252-
__iter3: Iterable[Any],
1253-
__iter4: Iterable[Any],
1254-
__iter5: Iterable[Any],
1255-
__iter6: Iterable[Any],
1256-
*iterables: Iterable[Any],
1257-
) -> Iterator[Tuple[Any, ...]]: ...
1250+
1251+
class zip(Iterator[_T_co], Generic[_T_co]):
1252+
@overload
1253+
def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...
1254+
@overload
1255+
def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> zip[Tuple[_T1, _T2]]: ...
1256+
@overload
1257+
def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]) -> zip[Tuple[_T1, _T2, _T3]]: ...
1258+
@overload
1259+
def __new__(
1260+
cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4]
1261+
) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...
1262+
@overload
1263+
def __new__(
1264+
cls,
1265+
__iter1: Iterable[_T1],
1266+
__iter2: Iterable[_T2],
1267+
__iter3: Iterable[_T3],
1268+
__iter4: Iterable[_T4],
1269+
__iter5: Iterable[_T5],
1270+
) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...
1271+
@overload
1272+
def __new__(
1273+
cls,
1274+
__iter1: Iterable[Any],
1275+
__iter2: Iterable[Any],
1276+
__iter3: Iterable[Any],
1277+
__iter4: Iterable[Any],
1278+
__iter5: Iterable[Any],
1279+
__iter6: Iterable[Any],
1280+
*iterables: Iterable[Any],
1281+
) -> zip[Tuple[Any, ...]]: ...
1282+
def __iter__(self) -> Iterator[_T_co]: ...
1283+
def __next__(self) -> _T_co: ...
1284+
12581285
def __import__(
12591286
name: str,
12601287
globals: Optional[Mapping[str, Any]] = ...,

tests/stubtest_whitelists/py3_common.txt

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -45,30 +45,15 @@ asyncio.locks.Condition.locked
4545
asyncio.locks.Condition.release
4646
asyncio.proactor_events.BaseProactorEventLoop.sock_recv # nbytes parameter has different name 'n' in implementation
4747
asyncio.selector_events.BaseSelectorEventLoop.sock_recv # nbytes parameter has different name 'n' in implementation
48-
builtins.bytearray.__float__
49-
builtins.bytearray.__int__
50-
builtins.bytearray.append
51-
builtins.bytearray.extend
52-
builtins.bytearray.maketrans
53-
builtins.bytes.__float__
54-
builtins.bytes.__int__
55-
builtins.bytes.maketrans
56-
builtins.classmethod.__get__
57-
builtins.ellipsis
58-
builtins.filter # not a function at runtime
48+
builtins.classmethod.__get__ # this function can accept no value for the type parameter.
49+
builtins.ellipsis # type is not exposed anywhere
5950
builtins.function
60-
builtins.map # not a function at runtime
61-
builtins.memoryview.__contains__
62-
builtins.memoryview.__iter__
51+
builtins.memoryview.__contains__ # C type that implements __getitem__
52+
builtins.memoryview.__iter__ # C type that implements __getitem__
6353
builtins.memoryview.cast # inspect.signature is incorrect about shape being kw-only
64-builtins.object.__init__
65-
builtins.property.__get__
66-
builtins.property.fdel
67-
builtins.property.fget
68-
builtins.property.fset
69-
builtins.reversed # not a function at runtime
70-
builtins.staticmethod.__get__
71-
builtins.zip # not a function at runtime
54+
builtins.object.__init__ # default C signature is incorrect
55+
builtins.property.__get__ # this function can accept no value for the type parameter.
56+
builtins.staticmethod.__get__ # this function can accept no value for the type parameter.
7257
bz2.BZ2Decompressor.__init__ # function does not accept parameters but C signature is set
7358
# The following methods were changed in point releases from Python 3.6 to 3.9
7459
# as part of a security fix. These excludes can be removed when the GitHub

0 commit comments

Comments
 (0)
0