summary refs log tree commit diff stats
path: root/tests/overload/tvart_varargs.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-08-04 00:57:48 +0200
committerAndreas Rumpf <rumpf_a@web.de>2016-08-04 01:37:41 +0200
commit7ac0b20339eb741fe8c242278cb9eca2534c735c (patch)
tree84c47009b1a3d2ef5cd9712772bb6d5a7e5279e6 /tests/overload/tvart_varargs.nim
parent6d98c717deb16d265fb1d26528182eb16b07f784 (diff)
downloadNim-7ac0b20339eb741fe8c242278cb9eca2534c735c.tar.gz
fixes #4545
Diffstat (limited to 'tests/overload/tvart_varargs.nim')
-rw-r--r--tests/overload/tvart_varargs.nim18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/overload/tvart_varargs.nim b/tests/overload/tvart_varargs.nim
new file mode 100644
index 000000000..c0c460c76
--- /dev/null
+++ b/tests/overload/tvart_varargs.nim
@@ -0,0 +1,18 @@
+
+# bug #4545
+type SomeObject = object
+    a : int
+
+type AbstractObject = object
+  objet: ptr SomeObject
+
+proc convert(this: var SomeObject): AbstractObject =
+  AbstractObject(objet: this.addr)
+
+proc varargProc(args: varargs[AbstractObject, convert]): int =
+  for arg in args:
+    result += arg.objet.a
+
+var obj = SomeObject(a: 17)
+
+discard varargProc(obj)