diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2018-06-06 17:31:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-06 17:31:24 +0200 |
commit | 42329e0a7002567c1b3cc61d1defa0dc794607bb (patch) | |
tree | 7db9a041e51164a1b82ceeec929202baf75e8832 /tests | |
parent | e957d369b17cfb3532e2fe2aadfcde2bd3a0f11c (diff) | |
parent | 0ec2b33c50bf96e2b9f164fd8d44fe04fa76de52 (diff) | |
download | Nim-42329e0a7002567c1b3cc61d1defa0dc794607bb.tar.gz |
Merge pull request #7971 from yglukhov/yield-in-dotexpr
Fixed yield in nkDotExpr. Fixes #7969.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/iter/tyieldintry.nim | 24 |
1 files changed, 24 insertions, 0 deletions
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" |