KEMBAR78
Crash on yield inside lambda · Issue #3243 · python/mypy · GitHub
Skip to content

Crash on yield inside lambda #3243

@jpochyla

Description

@jpochyla

I've encountered a crash on the following input:

(lambda: (yield))

With this output:

error: INTERNAL ERROR -- please report a bug at https://github.com/python/mypy/issues
Traceback (most recent call last):
  File "/usr/local/bin/mypy", line 6, in <module>
    main(__file__)
  File "/usr/local/lib/python3.6/site-packages/mypy/main.py", line 42, in main
    res = type_check_only(sources, bin_dir, options)
  File "/usr/local/lib/python3.6/site-packages/mypy/main.py", line 86, in type_check_only
    options=options)
  File "/usr/local/lib/python3.6/site-packages/mypy/build.py", line 183, in build
    dispatch(sources, manager)
  File "/usr/local/lib/python3.6/site-packages/mypy/build.py", line 1531, in dispatch
    process_graph(graph, manager)
  File "/usr/local/lib/python3.6/site-packages/mypy/build.py", line 1768, in process_graph
    process_stale_scc(graph, scc)
  File "/usr/local/lib/python3.6/site-packages/mypy/build.py", line 1847, in process_stale_scc
    graph[id].type_check_first_pass()
  File "/usr/local/lib/python3.6/site-packages/mypy/build.py", line 1453, in type_check_first_pass
    self.type_checker.check_first_pass()
  File "/usr/local/lib/python3.6/site-packages/mypy/checker.py", line 167, in check_first_pass
    self.accept(d)
  File "/usr/local/lib/python3.6/site-packages/mypy/checker.py", line 233, in accept
    stmt.accept(self)
  File "/usr/local/lib/python3.6/site-packages/mypy/nodes.py", line 792, in accept
    return visitor.visit_expression_stmt(self)
  File "/usr/local/lib/python3.6/site-packages/mypy/checker.py", line 1683, in visit_expression_stmt
    self.expr_checker.accept(s.expr)
  File "/usr/local/lib/python3.6/site-packages/mypy/checkexpr.py", line 2015, in accept
    typ = node.accept(self)
  File "/usr/local/lib/python3.6/site-packages/mypy/nodes.py", line 1507, in accept
    return visitor.visit_func_expr(self)
  File "/usr/local/lib/python3.6/site-packages/mypy/checkexpr.py", line 1769, in visit_func_expr
    ret_type = self.accept(e.expr())
  File "/usr/local/lib/python3.6/site-packages/mypy/checkexpr.py", line 2015, in accept
    typ = node.accept(self)
  File "/usr/local/lib/python3.6/site-packages/mypy/nodes.py", line 1284, in accept
    return visitor.visit_yield_expr(self)
  File "/usr/local/lib/python3.6/site-packages/mypy/checkexpr.py", line 2088, in visit_yield_expr
    return_type = self.chk.return_types[-1]
IndexError: list index out of range

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions