diff --git a/stdlib/3/builtins.pyi b/stdlib/3/builtins.pyi index 80fc8e509..0b1df7f26 100644 --- a/stdlib/3/builtins.pyi +++ b/stdlib/3/builtins.pyi @@ -8,7 +8,7 @@ from typing import ( ByteString, Optional, AnyStr, Type, ) from abc import abstractmethod, ABCMeta -from types import TracebackType +from types import TracebackType, CodeType import sys from mypy_extensions import NoReturn @@ -577,7 +577,7 @@ class function: __name__ = ... # type: str __qualname__ = ... # type: str __module__ = ... # type: str - __code__ = ... # type: Any + __code__ = ... # type: CodeType __annotations__ = ... # type: Dict[str, Any] class list(MutableSequence[_T], Generic[_T]): @@ -769,18 +769,15 @@ def ascii(o: object) -> str: ... def bin(number: int) -> str: ... def callable(o: object) -> bool: ... def chr(code: int) -> str: ... -def compile(source: Any, filename: Union[str, bytes], mode: str, flags: int = 0, - dont_inherit: int = 0) -> Any: ... +def compile(source: Any, filename: Union[str, bytes], mode: str, flags: int = 0, dont_inherit: int = 0) -> CodeType: ... def copyright() -> None: ... def credits() -> None: ... def delattr(o: Any, name: str) -> None: ... def dir(o: object = ...) -> List[str]: ... _N = TypeVar('_N', int, float) def divmod(a: _N, b: _N) -> Tuple[_N, _N]: ... -def eval(source: str, globals: Optional[Dict[str, Any]] = None, - locals: Optional[Mapping[str, Any]] = None) -> Any: ... # TODO code object as source -def exec(object: str, globals: Optional[Dict[str, Any]] = None, - locals: Optional[Mapping[str, Any]] = None) -> Any: ... # TODO code object as source +def eval(source: Union[str, bytes, CodeType], globals: Optional[Dict[str, Any]] = None, locals: Optional[Mapping[str, Any]] = None) -> Any: ... +def exec(object: Union[str, bytes, CodeType], globals: Optional[Dict[str, Any]] = None, locals: Optional[Mapping[str, Any]] = None) -> Any: ... def exit(code: Any = ...) -> NoReturn: ... @overload def filter(function: Optional[Callable[[_T], Any]],