Skip to content

KeyError: mypy.nodes.MemberExpr object #17321

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

Closed
itamarst opened this issue Jun 3, 2024 · 2 comments
Closed

KeyError: mypy.nodes.MemberExpr object #17321

itamarst opened this issue Jun 3, 2024 · 2 comments
Labels
bug mypy got something wrong

Comments

@itamarst
Copy link

itamarst commented Jun 3, 2024

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>
@itamarst itamarst added the bug mypy got something wrong label Jun 3, 2024
@itamarst
Copy link
Author

itamarst commented Jun 3, 2024

Thank you to everyone who fixed #1051, and working on mypyc in general, this is the next thing I hit once the former was fixed.

@itamarst
Copy link
Author

itamarst commented Jun 3, 2024

Oh wrong repo, will refile in mypyc repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug mypy got something wrong
Projects
None yet
Development

No branches or pull requests

1 participant