Skip to content

Commit 56f4343

Browse files
hauntsaninjasvalentin
authored andcommitted
Revert sum literal integer change (#13961)
This is allegedly causing large performance problems, see 13821 typeshed/8231 had zero hits on mypy_primer, so it's not the worst thing to undo. Patching this in typeshed also feels weird, since there's a more general soundness issue. If a typevar has a bound or constraint, we might not want to solve it to a Literal. If we can confirm the performance regression or fix the unsoundness within mypy, I might pursue upstreaming this in typeshed. (Reminder: add this to the sync_typeshed script once merged)
1 parent 9f4c0d8 commit 56f4343

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

mypy/typeshed/stdlib/builtins.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1665,11 +1665,11 @@ _SupportsSumNoDefaultT = TypeVar("_SupportsSumNoDefaultT", bound=_SupportsSumWit
16651665
# Instead, we special-case the most common examples of this: bool and literal integers.
16661666
if sys.version_info >= (3, 8):
16671667
@overload
1668-
def sum(__iterable: Iterable[bool | _LiteralInteger], start: int = 0) -> int: ... # type: ignore[misc]
1668+
def sum(__iterable: Iterable[bool], start: int = 0) -> int: ... # type: ignore[misc]
16691669

16701670
else:
16711671
@overload
1672-
def sum(__iterable: Iterable[bool | _LiteralInteger], __start: int = 0) -> int: ... # type: ignore[misc]
1672+
def sum(__iterable: Iterable[bool], __start: int = 0) -> int: ... # type: ignore[misc]
16731673

16741674
@overload
16751675
def sum(__iterable: Iterable[_SupportsSumNoDefaultT]) -> _SupportsSumNoDefaultT | Literal[0]: ...

0 commit comments

Comments
 (0)