From f74129eb4912c72f9a62ad00aca8245d9b421617 Mon Sep 17 00:00:00 2001 From: DetachHead Date: Wed, 17 Nov 2021 00:47:42 +1000 Subject: [PATCH 1/2] update ellipsis to `_typeshed` --- mypy/checkexpr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mypy/checkexpr.py b/mypy/checkexpr.py index e850744b5c71..c70089b5b09c 100644 --- a/mypy/checkexpr.py +++ b/mypy/checkexpr.py @@ -2160,7 +2160,7 @@ def visit_complex_expr(self, e: ComplexExpr) -> Type: def visit_ellipsis(self, e: EllipsisExpr) -> Type: """Type check '...'.""" if self.chk.options.python_version[0] >= 3: - return self.named_type('builtins.ellipsis') + return self.named_type('_typeshed.ellipsis') else: # '...' is not valid in normal Python 2 code, but it can # be used in stubs. The parser makes sure that we only From e63c03070507bb637a2afde819f4676356bd2207 Mon Sep 17 00:00:00 2001 From: DetachHead Date: Wed, 17 Nov 2021 00:48:43 +1000 Subject: [PATCH 2/2] update `ellipsis` in typeshed --- mypy/typeshed/stdlib/_typeshed/__init__.pyi | 4 ++++ mypy/typeshed/stdlib/builtins.pyi | 5 +---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/mypy/typeshed/stdlib/_typeshed/__init__.pyi b/mypy/typeshed/stdlib/_typeshed/__init__.pyi index 6dd0b38c2e65..dcb11b39d77b 100644 --- a/mypy/typeshed/stdlib/_typeshed/__init__.pyi +++ b/mypy/typeshed/stdlib/_typeshed/__init__.pyi @@ -184,3 +184,7 @@ else: @final class NoneType: def __bool__(self) -> Literal[False]: ... + +# Actually the type of Ellipsis is , but since it's +# not exposed anywhere under that name, we make it private here. +class ellipsis: ... diff --git a/mypy/typeshed/stdlib/builtins.pyi b/mypy/typeshed/stdlib/builtins.pyi index 4694042cab24..a16a12cd383b 100644 --- a/mypy/typeshed/stdlib/builtins.pyi +++ b/mypy/typeshed/stdlib/builtins.pyi @@ -18,6 +18,7 @@ from _typeshed import ( SupportsNext, SupportsRDivMod, SupportsWrite, + ellipsis ) from ast import AST, mod from io import BufferedRandom, BufferedReader, BufferedWriter, FileIO, TextIOWrapper @@ -1409,10 +1410,6 @@ def __import__( level: int = ..., ) -> Any: ... -# Actually the type of Ellipsis is , but since it's -# not exposed anywhere under that name, we make it private here. -class ellipsis: ... - Ellipsis: ellipsis class BaseException(object):