Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mypy infers numpy.float64 instead of Any for numpy.ndarray.__iter__ in numpy 2.2.2 #18566

Open
matteobrv opened this issue Jan 29, 2025 · 0 comments
Labels
bug mypy got something wrong topic-overloads

Comments

@matteobrv
Copy link

Bug Report

It looks like mypy doesn't correctly handle the overloading of numpy.ndarray.__iter__. In the example below mypy infers numpy.float64 for ai while the correct type is Any.

See also: numpy/numpy#28245

To Reproduce

import numpy as np
import numpy.typing as npt

a: npt.NDArray[np.float64] = np.ones([2, 2])

for _, ai in enumerate(a):
    reveal_type(ai)

Expected Behavior

Any

Actual Behavior

test.py:7: note: Revealed type is "numpy.float64"

Your Environment

Both pyright 1.1.392 and basedpyright 1.25.0 behave as expected.

  • Mypy version used: mypy 1.14.1 (compiled: yes)
  • Mypy command-line flags: none
  • Mypy configuration options from mypy.ini (and other config files): none
  • Python version used: 3.12.8 (main, Jan 22 2025, 21:56:05) [GCC 11.4.0]
  • Numpy version used: 2.2.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug mypy got something wrong topic-overloads
Projects
None yet
Development

No branches or pull requests

2 participants