From 1111b145062e2e8517ac09c6319d550f16efbc8e Mon Sep 17 00:00:00 2001 From: Jukka Lehtosalo Date: Tue, 24 Apr 2018 10:32:33 +0100 Subject: [PATCH] Fine-grained: Test "yield from" --- test-data/unit/fine-grained.test | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test-data/unit/fine-grained.test b/test-data/unit/fine-grained.test index f05ab4be56d2..3b921b3e020e 100644 --- a/test-data/unit/fine-grained.test +++ b/test-data/unit/fine-grained.test @@ -5800,3 +5800,31 @@ class M(type): [out] == a.py:2: error: Argument 1 to "f" of "M" has incompatible type "int"; expected "str" + +[case testYieldFrom] +from typing import Iterator +from a import f + +def g() -> Iterator[int]: + a = "string" + a = yield from f() + +[file a.py] +from typing import Generator + +def f() -> Generator[int, None, str]: + yield 5 + return "ham" + +[file a.py.2] +from typing import Generator + +class A: pass + +def f() -> Generator[int, None, A]: + yield 5 + return A() + +[out] +== +main:6: error: Incompatible types in assignment (expression has type "A", variable has type "str")