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

KeyError: mypy.nodes.MemberExpr #1054

Open
itamarst opened this issue Jun 3, 2024 · 0 comments
Open

KeyError: mypy.nodes.MemberExpr #1054

itamarst opened this issue Jun 3, 2024 · 0 comments

Comments

@itamarst
Copy link

itamarst commented Jun 3, 2024

Thanks to everyone who worked on #1051. Here's the next in the queue, visible now that the former is fixed.

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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant