@@ -65,9 +65,19 @@ def coerce(x: _T, y: _T) -> tuple[_T, _T]: ... # E.g. coerce([], [1]) -> ([], [
6565def compile(source, filename: str, mode: str, flags: int = ..., dont_inherit: int = ..., optimize: int = ...) -> code: ...
6666def delattr(object, name: Union[str, bytes, bytearray]) -> None: ...
6767def dir(*args, **kwargs) -> list[str]: ...
68+
69+ class _SupportsDivMod(Protocol[_T, _T2, _T3]):
70+ def __divmod__(self, other: _T) -> tuple[_T2, _T3]: ...
71+
72+ @overload
6873def divmod(x: int, y: int) -> tuple[int, int]: ...
74+ @overload
6975def divmod(x: Union[int, float], y: Union[int, float]) -> tuple[float, float]: ...
76+ @overload
7077def divmod(x: Union[int, float, complex], y: Union[int, float, complex]) -> tuple[complex, complex]: ...
78+ @overload
79+ def divmod(x: _SupportsDivMod[_T, _T2, _T3], y: _T) -> tuple[_T2, _T3]: ...
80+
7181def eval(src, *args, **kwargs) -> Any: ... # Can't say *anything* about the result -- different from "-> object"
7282def exec(src, *args, **kwargs) -> NoneType: ...
7383def execfile(filename: str, *args, **kwargs) -> NoneType: ...
0 commit comments