summary refs log tree commit diff stats
path: root/tests/closure/tcapture.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/closure/tcapture.nim')
-rw-r--r--tests/closure/tcapture.nim26
1 files changed, 24 insertions, 2 deletions
diff --git a/tests/closure/tcapture.nim b/tests/closure/tcapture.nim
index 304a76285..dafc44739 100644
--- a/tests/closure/tcapture.nim
+++ b/tests/closure/tcapture.nim
@@ -1,6 +1,11 @@
 discard """
   output: '''
-to be, or not to be'''
+to be, or not to be
+(v: 1)
+(w: -1)
+(v: 1)
+(w: -1)
+'''
   joinable: false
 """
 
@@ -9,4 +14,21 @@ import sequtils, sugar
 let m = @[proc (s: string): string = "to " & s, proc (s: string): string = "not to " & s]
 var l = m.mapIt(capture([it], proc (s: string): string = it(s)))
 let r = l.mapIt(it("be"))
-echo r[0] & ", or " & r[1]
\ No newline at end of file
+echo r[0] & ", or " & r[1]
+
+type
+  O = object
+    v: int
+  U = object
+    w: int
+var o = O(v: 1)
+var u = U(w: -1)
+var execute: proc()
+capture o, u:
+  execute = proc() =
+    echo o
+    echo u
+execute()
+o.v = -1
+u.w = 1
+execute()