[other] newruntime: add a simple closure iterator test

This commit is contained in:
Araq 2019-06-20 11:29:30 +02:00
commit 678beb8ef9

View file

@ -1,7 +1,8 @@
discard """ discard """
cmd: '''nim c --newruntime $file''' cmd: '''nim c --newruntime $file'''
output: '''a b output: '''a b
0 0 alloc/dealloc pairs: 0''' 70
2 2 alloc/dealloc pairs: 0'''
""" """
import core / allocators import core / allocators
@ -13,10 +14,17 @@ proc main(): owned(proc()) =
result = proc() = result = proc() =
echo a, " ", b echo a, " ", b
proc foo(f: (iterator(): int)) =
for i in f(): echo i
proc wrap = proc wrap =
let p = main() let p = main()
p() p()
let fIt = iterator(): int = yield 70
foo fIt
wrap() wrap()
let (a, d) = allocCounters() let (a, d) = allocCounters()
discard cprintf("%ld %ld alloc/dealloc pairs: %ld\n", a, d, system.allocs) discard cprintf("%ld %ld alloc/dealloc pairs: %ld\n", a, d, system.allocs)