You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The code sets up a class with a 'NamedTuple' type and initializes an instance of that class with a specified field. The "item" attribute of the instance holds an instance of NamedTuple created earlier. Mypy reports an internal error.
Example.py
from typing import NamedTuple
class Test:
def __init__(self, field):
self.Item = NamedTuple("x", [(field, str)])
self.item: self.Item
The expected behavior:
It does not report an internal error.
The actual behavior:
/home/xxm/Desktop/example.py:7: error: INTERNAL ERROR -- Please try using mypy master on GitHub:
https://mypy.readthedocs.io/en/stable/common_issues.html#using-a-development-mypy-build
Please report a bug at https://github.com/python/mypy/issues
version: 1.4.0+dev.66bd2c441277b29b1454e26b2a3454a0dae5fb18
Traceback (most recent call last):
File "/home/xxm/.local/bin/mypy", line 8, in <module>
sys.exit(console_entry())
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/__main__.py", line 15, in console_entry
main()
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/main.py", line 95, in main
res, messages, blockers = run_build(sources, options, fscache, t0, stdout, stderr)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/main.py", line 174, in run_build
res = build.build(sources, options, None, flush_errors, fscache, stdout, stderr)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/build.py", line 194, in build
result = _build(
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/build.py", line 267, in _build
graph = dispatch(sources, manager, stdout)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/build.py", line 2926, in dispatch
process_graph(graph, manager)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/build.py", line 3324, in process_graph
process_stale_scc(graph, scc, manager)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/build.py", line 3419, in process_stale_scc
mypy.semanal_main.semantic_analysis_for_scc(graph, scc, manager.errors)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal_main.py", line 95, in semantic_analysis_for_scc
process_functions(graph, scc, patches)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal_main.py", line 253, in process_functions
process_top_level_function(
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal_main.py", line 292, in process_top_level_function
deferred, incomplete, progress = semantic_analyze_target(
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal_main.py", line 350, in semantic_analyze_target
analyzer.refresh_partial(
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal.py", line 603, in refresh_partial
self.accept(node)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal.py", line 6352, in accept
node.accept(self)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/nodes.py", line 786, in accept
return visitor.visit_func_def(self)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal.py", line 833, in visit_func_def
self.analyze_func_def(defn)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal.py", line 897, in analyze_func_def
self.analyze_function_body(defn)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal.py", line 1390, in analyze_function_body
defn.body.accept(self)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/nodes.py", line 1220, in accept
return visitor.visit_block(self)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal.py", line 4562, in visit_block
self.accept(s)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal.py", line 6352, in accept
node.accept(self)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/nodes.py", line 1307, in accept
return visitor.visit_assignment_stmt(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal.py", line 2824, in visit_assignment_stmt
self.record_special_form_lvalue(s)
File "/home/xxm/.local/lib/python3.11/site-packages/mypy/semanal.py", line 3045, in record_special_form_lvalue
assert isinstance(lvalue, NameExpr)
AssertionError:
/home/xxm/Desktop/example.py:7: : note: use --pdb to drop into pdb
The code sets up a class with a 'NamedTuple' type and initializes an instance of that class with a specified field. The "item" attribute of the instance holds an instance of NamedTuple created earlier. Mypy reports an internal error.
Example.py
The expected behavior:
It does not report an internal error.
The actual behavior:
Test environment:
Mypy version: 1.4.0+ (master)
Python version: 3.11.3
Operating System: Ubuntu 18.04
How to install MyPy: "python3 -m pip install -U git+https://github.com/python/mypy.git"
The text was updated successfully, but these errors were encountered: