From 0ec2b33c50bf96e2b9f164fd8d44fe04fa76de52 Mon Sep 17 00:00:00 2001 From: Yuriy Glukhov Date: Wed, 6 Jun 2018 16:17:24 +0300 Subject: Fixed yield in dotExpr and nkOfBranch lowering. Closes #7969. --- tests/iter/tyieldintry.nim | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'tests') diff --git a/tests/iter/tyieldintry.nim b/tests/iter/tyieldintry.nim index 31ec65a83..c9e5843b8 100644 --- a/tests/iter/tyieldintry.nim +++ b/tests/iter/tyieldintry.nim @@ -368,5 +368,29 @@ block: # Short cirquits test(it, 1, 0, 0) +block: #7969 + type + SomeObj = object + id: int + + iterator it(): int {.closure.} = + template yieldAndSomeObj: SomeObj = + var s: SomeObj + s.id = 2 + yield 1 + s + + checkpoint(yieldAndSomeObj().id) + + var i = 5 + case i + of 0: + checkpoint(123) + of 1, 2, 5: + checkpoint(3) + else: + checkpoint(123) + + test(it, 1, 2, 3) echo "ok" -- cgit 1.4.1-2-gfad0