diff options
author | flywind <xzsflywind@gmail.com> | 2021-03-24 15:49:05 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-24 08:49:05 +0100 |
commit | 13a203001434db8f6cc9e4deab10dbfc7f57bd94 (patch) | |
tree | b0d0f4412cf34a68744b71144eb952f069ee9abe /tests/iter/t16076.nim | |
parent | c015ecdc37221b374647b3b1503d80519e253d94 (diff) | |
download | Nim-13a203001434db8f6cc9e4deab10dbfc7f57bd94.tar.gz |
follow up #17486 (#17492)
* fix nim js cmp fails at CT * follow up #17486 * test more branches * better
Diffstat (limited to 'tests/iter/t16076.nim')
-rw-r--r-- | tests/iter/t16076.nim | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/iter/t16076.nim b/tests/iter/t16076.nim new file mode 100644 index 000000000..2eb409068 --- /dev/null +++ b/tests/iter/t16076.nim @@ -0,0 +1,45 @@ +discard """ + targets: "c js" +""" + +proc main() = + block: # bug #17485 + type + O = ref object + i: int + + iterator t(o: O): int = + if o != nil: + yield o.i + yield 0 + + proc m = + var data = "" + for i in t(nil): + data.addInt i + + doAssert data == "0" + + m() + + + block: # bug #16076 + type + R = ref object + z: int + + var data = "" + + iterator foo(x: int; y: R = nil): int {.inline.} = + if y == nil: + yield x + else: + yield y.z + + for b in foo(10): + data.addInt b + + doAssert data == "10" + +static: main() +main() |