Skip to content

Exception while typechecking python3.4 program using asyncio.Queue.get #868

Closed
@thomascellerier

Description

@thomascellerier

Using the latest master from today mypy 0.2.0-dev.

Traceback (most recent call last):
  File "/usr/local/bin/mypy", line 184, in <module>
    main()
  File "/usr/local/bin/mypy", line 36, in main
    type_check_only(path, module, bin_dir, options)
  File "/usr/local/bin/mypy", line 80, in type_check_only
    python_path=options.python_path)
  File "/usr/local/lib/python3.4/dist-packages/mypy/build.py", line 160, in build
    result = manager.process(UnprocessedFile(info, program_text))
  File "/usr/local/lib/python3.4/dist-packages/mypy/build.py", line 337, in process
    next.process()
  File "/usr/local/lib/python3.4/dist-packages/mypy/build.py", line 786, in process
    self.type_checker().visit_file(self.tree, self.tree.path)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 353, in visit_file
    self.accept(d)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 360, in accept
    typ = node.accept(self)
  File "/usr/local/lib/python3.4/dist-packages/mypy/nodes.py", line 380, in accept
    return visitor.visit_decorator(self)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 1646, in visit_decorator
    e.func.accept(self)
  File "/usr/local/lib/python3.4/dist-packages/mypy/nodes.py", line 349, in accept
    return visitor.visit_func_def(self)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 417, in visit_func_def
    self.check_func_item(defn, name=defn.name())
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 450, in check_func_item
    self.check_func_def(defn, typ, name)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 517, in check_func_def
    self.accept_in_frame(item.body)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 373, in accept_in_frame
    answer = self.accept(node, type_context)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 360, in accept
    typ = node.accept(self)
  File "/usr/local/lib/python3.4/dist-packages/mypy/nodes.py", line 493, in accept
    return visitor.visit_block(self)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 907, in visit_block
    self.accept(s)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 360, in accept
    typ = node.accept(self)
  File "/usr/local/lib/python3.4/dist-packages/mypy/nodes.py", line 532, in accept
    return visitor.visit_assignment_stmt(self)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 916, in visit_assignment_stmt
    self.check_assignment(s.lvalues[-1], s.rvalue, s.type is None)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 944, in check_assignment
    self.infer_variable_type(inferred, lvalue, self.accept(rvalue),
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 360, in accept
    typ = node.accept(self)
  File "/usr/local/lib/python3.4/dist-packages/mypy/nodes.py", line 944, in accept
    return visitor.visit_yield_from_expr(self)
  File "/usr/local/lib/python3.4/dist-packages/mypy/checker.py", line 1693, in visit_yield_from_expr
    if result_instance.type.fullname() == "asyncio.futures.Future":
AttributeError: 'AnyType' object has no attribute 'type'

Here is a minimal program to reproduce:

import asyncio

@asyncio.coroutine
def example_coro():
    q = asyncio.Queue()
    msg = yield from q.get()

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(example_coro())

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugmypy got something wrong

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions