summary refs log tree commit diff stats
path: root/tests/run/tinterf.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run/tinterf.nim')
-rw-r--r--tests/run/tinterf.nim20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/run/tinterf.nim b/tests/run/tinterf.nim
new file mode 100644
index 000000000..b082b1d3f
--- /dev/null
+++ b/tests/run/tinterf.nim
@@ -0,0 +1,20 @@
+discard """
+  output: '''56'''
+"""
+
+type
+  ITest = tuple[
+    setter: proc(v: int) {.closure.},
+    getter: proc(): int {.closure.}]
+
+proc getInterf(): ITest =
+  var shared: int
+  
+  return (setter: proc (x: int) = shared = x,
+          getter: proc (): int = return shared)
+
+var i = getInterf()
+i.setter(56)
+
+echo i.getter()
+