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 crashes if collections import is removed from typing.pyi #16744

Open
srittau opened this issue Jan 4, 2024 · 1 comment
Open

mypy crashes if collections import is removed from typing.pyi #16744

srittau opened this issue Jan 4, 2024 · 1 comment
Labels
affects-typeshed Anything that blocks a typeshed change bug mypy got something wrong

Comments

@srittau
Copy link
Contributor

srittau commented Jan 4, 2024

Bug Report

Noticed during python/typeshed#11238: When removing the (now unnecessary) collections import from stdlib/typing.pyi, mypy 1.8.0 will crash with the following traceback:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "mypy/semanal.py", line 6539, in accept
  File "mypy/nodes.py", line 1310, in accept
  File "mypy/semanal.py", line 2889, in visit_assignment_stmt
  File "mypy/semanal.py", line 3393, in process_type_annotation
  File "mypy/semanal.py", line 6690, in anal_type
  File "mypy/types.py", line 955, in accept
  File "mypy/typeanal.py", line 259, in visit_unbound_type
  File "mypy/typeanal.py", line 399, in visit_unbound_type_nonoptional
  File "mypy/typeanal.py", line 6[24](https://github.com/python/typeshed/actions/runs/7411345628/job/20165674610?pr=11238#step:5:25), in try_analyze_special_unbound_type
  File "mypy/typeanal.py", line 1470, in analyze_literal_type
  File "mypy/typeanal.py", line 1484, in analyze_literal_param
  File "mypy/typeanal.py", line 1738, in named_type
  File "mypy/typeanal.py", line [25](https://github.com/python/typeshed/actions/runs/7411345628/job/20165674610?pr=11238#step:5:26)6, in lookup_fully_qualified
  File "mypy/semanal.py", line 5852, in lookup_fully_qualified
AssertionError: builtins.str

To Reproduce

Check out typeshed, install mypy, remove the collections import from typing.pyi and run ./tests/typecheck_typeshed.py, which will call mypy and include the traceback.

Your Environment

Python 3.11.6, mypy 1.8.0

@srittau srittau added the bug mypy got something wrong label Jan 4, 2024
@AlexWaygood
Copy link
Member

The hack was originally introduced in python/typeshed#1456 to fix #2986

@AlexWaygood AlexWaygood added the affects-typeshed Anything that blocks a typeshed change label Jan 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects-typeshed Anything that blocks a typeshed change bug mypy got something wrong
Projects
None yet
Development

No branches or pull requests

2 participants