@@ -266,8 +266,6 @@ class int:
266
266
@overload
267
267
def __pow__ (self , __x : int , __modulo : None = ...) -> Any : ...
268
268
@overload
269
- def __pow__ (self , __x : int , __modulo : Literal [0 ]) -> NoReturn : ...
270
- @overload
271
269
def __pow__ (self , __x : int , __modulo : int ) -> int : ...
272
270
def __rpow__ (self , __x : int , __mod : int | None = ...) -> Any : ...
273
271
def __and__ (self , __n : int ) -> int : ...
@@ -1548,8 +1546,8 @@ _SupportsSomeKindOfPow = ( # noqa: Y026 # TODO: Use TypeAlias once mypy bugs a
1548
1546
)
1549
1547
1550
1548
if sys .version_info >= (3 , 8 ):
1551
- @ overload
1552
- def pow ( base : int , exp : int , mod : Literal [ 0 ]) -> NoReturn : .. .
1549
+ # TODO: `pow(int, int, Literal[0])` fails at runtime,
1550
+ # but adding a `NoReturn` overload isn't a good solution for expressing that (see #8566) .
1553
1551
@overload
1554
1552
def pow (base : int , exp : int , mod : int ) -> int : ...
1555
1553
@overload
@@ -1587,8 +1585,6 @@ if sys.version_info >= (3, 8):
1587
1585
def pow (base : _SupportsSomeKindOfPow , exp : complex , mod : None = ...) -> complex : ...
1588
1586
1589
1587
else :
1590
- @overload
1591
- def pow (__base : int , __exp : int , __mod : Literal [0 ]) -> NoReturn : ...
1592
1588
@overload
1593
1589
def pow (__base : int , __exp : int , __mod : int ) -> int : ...
1594
1590
@overload
0 commit comments