diff options
Diffstat (limited to 'tests/closure/tclosure_issues.nim')
-rw-r--r-- | tests/closure/tclosure_issues.nim | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/tests/closure/tclosure_issues.nim b/tests/closure/tclosure_issues.nim index b2d77c571..b1a2d7c6b 100644 --- a/tests/closure/tclosure_issues.nim +++ b/tests/closure/tclosure_issues.nim @@ -1,5 +1,10 @@ discard """ - output: '''true''' + output: '''true +(999, 0) +ok 0 +ok 1 +ok 2 +''' """ @@ -52,3 +57,26 @@ block tissue1911: proc baz() : int = helper() return (bar, baz) + +# bug #11523 +proc foo(): proc = + let a = 999 + return proc(): (int, int) = + return (a, 0) + +echo foo()() + + +block tissue7104: + proc sp(cb: proc())= + cb() + + sp do (): + var i = 0 + echo "ok ", i + sp do (): + inc i + echo "ok ", i + sp do (): + inc i + echo "ok ", i |