diff --git a/requirements-tests.txt b/requirements-tests.txt index f49905636..1c4ad7897 100644 --- a/requirements-tests.txt +++ b/requirements-tests.txt @@ -1,7 +1,7 @@ # Type checkers that we test our stubs against. These should always # be pinned to a specific version to make failure reproducible. mypy==1.15.0 -pyright==1.1.389 +pyright==1.1.395 # pytype can be installed on Windows, but requires building wheels, let's not do that on the CI pytype==2024.10.11; platform_system != "Windows" and python_version >= "3.10" and python_version < "3.13" diff --git a/stdlib/@tests/test_cases/builtins/check_pow.py b/stdlib/@tests/test_cases/builtins/check_pow.py index 6fe7aacff..448d41ad8 100644 --- a/stdlib/@tests/test_cases/builtins/check_pow.py +++ b/stdlib/@tests/test_cases/builtins/check_pow.py @@ -47,7 +47,9 @@ assert_type(pow(complex(6), 6.2), complex) assert_type(complex(6) ** 6.2, complex) assert_type(pow(complex(9), 7.3, None), complex) -assert_type(pow(Fraction(), 4, None), Fraction) +# pyright infers Fraction | float | complex, while mypy infers Fraction. +# This is probably because of differences in @overload handling. +assert_type(pow(Fraction(), 4, None), Fraction) # pyright: ignore[reportAssertTypeFailure] assert_type(Fraction() ** 4, Fraction) assert_type(pow(Fraction(3, 7), complex(1, 8)), complex)