-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Labels
bugmypy got something wrongmypy got something wrong
Description
I'm using mypy/mypyc installed from git on June 3rd, 2024. Version for both mypy and mypyc is mypy 1.11.0+dev.93dac05cc8461f13c2031dff48711eecbe2595af (compiled: no)
.
Here's a reproducer:
from typing import Callable, Tuple, Literal, Union
from enum import Enum
class MyEnum(Enum):
CONTINUE = object()
DeferredCallback = Callable[..., object]
_CallbackChain = Tuple[
Tuple[
Union[DeferredCallback, Literal[MyEnum.CONTINUE]],
]
]
And here's the result of running mypy and mypyc:
$ mypy repro.py
Success: no issues found in 1 source file
$ mypyc repro.py
Traceback (most recent call last):
File "/home/itamarst/devel/twisted/build/setup.py", line 5, in <module>
ext_modules=mypycify(['repro.py'], opt_level="3", debug_level="1"),
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/build.py", line 525, in mypycify
groups, group_cfilenames = mypyc_build(
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/build.py", line 435, in mypyc_build
group_cfiles, ops_text = generate_c(
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/build.py", line 243, in generate_c
modules, ctext = emitmodule.compile_modules_to_c(
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/codegen/emitmodule.py", line 428, in compile_modules_to_c
modules = compile_modules_to_ir(result, mapper, compiler_options, errors)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/codegen/emitmodule.py", line 272, in compile_modules_to_ir
scc_ir = compile_scc_to_ir(trees, result, mapper, compiler_options, errors)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/codegen/emitmodule.py", line 227, in compile_scc_to_ir
modules = build_ir(scc, result.graph, result.types, mapper, compiler_options, errors)
File "/usr/lib/python3.11/contextlib.py", line 81, in inner
return func(*args, **kwds)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/main.py", line 95, in build_ir
transform_mypy_file(builder, module)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/main.py", line 140, in transform_mypy_file
builder.accept(node)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/builder.py", line 266, in accept
node.accept(self.visitor)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypy/nodes.py", line 1349, in accept
return visitor.visit_assignment_stmt(self)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/visitor.py", line 201, in visit_assignment_stmt
transform_assignment_stmt(self.builder, stmt)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/statement.py", line 192, in transform_assignment_stmt
rvalue_reg = builder.accept(stmt.rvalue)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/builder.py", line 252, in accept
res = node.accept(self.visitor)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypy/nodes.py", line 2026, in accept
return visitor.visit_index_expr(self)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/visitor.py", line 277, in visit_index_expr
return transform_index_expr(self.builder, expr)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/expression.py", line 570, in transform_index_expr
index_reg = builder.accept(expr.index, can_borrow=is_list)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/builder.py", line 252, in accept
res = node.accept(self.visitor)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypy/nodes.py", line 2026, in accept
return visitor.visit_index_expr(self)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/visitor.py", line 277, in visit_index_expr
return transform_index_expr(self.builder, expr)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/expression.py", line 570, in transform_index_expr
index_reg = builder.accept(expr.index, can_borrow=is_list)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/builder.py", line 252, in accept
res = node.accept(self.visitor)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypy/nodes.py", line 2332, in accept
return visitor.visit_tuple_expr(self)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/visitor.py", line 307, in visit_tuple_expr
return transform_tuple_expr(self.builder, expr)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/expression.py", line 943, in transform_tuple_expr
reg = builder.accept(item_expr)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/builder.py", line 252, in accept
res = node.accept(self.visitor)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypy/nodes.py", line 2026, in accept
return visitor.visit_index_expr(self)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/visitor.py", line 277, in visit_index_expr
return transform_index_expr(self.builder, expr)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/expression.py", line 570, in transform_index_expr
index_reg = builder.accept(expr.index, can_borrow=is_list)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/builder.py", line 252, in accept
res = node.accept(self.visitor)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypy/nodes.py", line 2332, in accept
return visitor.visit_tuple_expr(self)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/visitor.py", line 307, in visit_tuple_expr
return transform_tuple_expr(self.builder, expr)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/expression.py", line 943, in transform_tuple_expr
reg = builder.accept(item_expr)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/builder.py", line 252, in accept
res = node.accept(self.visitor)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypy/nodes.py", line 2026, in accept
return visitor.visit_index_expr(self)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/visitor.py", line 277, in visit_index_expr
return transform_index_expr(self.builder, expr)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/expression.py", line 570, in transform_index_expr
index_reg = builder.accept(expr.index, can_borrow=is_list)
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/builder.py", line 252, in accept
res = node.accept(self.visitor)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypy/nodes.py", line 1891, in accept
return visitor.visit_member_expr(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/visitor.py", line 262, in visit_member_expr
return transform_member_expr(self.builder, expr)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/itamarst/devel/twisted/.tox/py311/lib/python3.11/site-packages/mypyc/irbuild/expression.py", line 199, in transform_member_expr
final_var, fullname, final_var.name, native, builder.types[expr], expr.line
~~~~~~~~~~~~~^^^^^^
repro.py:12: KeyError: <mypy.nodes.MemberExpr object at 0x75e97207bf60>
glyph
Metadata
Metadata
Assignees
Labels
bugmypy got something wrongmypy got something wrong