diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2016-08-04 00:57:48 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2016-08-04 01:37:41 +0200 |
commit | 7ac0b20339eb741fe8c242278cb9eca2534c735c (patch) | |
tree | 84c47009b1a3d2ef5cd9712772bb6d5a7e5279e6 /tests/overload/tvart_varargs.nim | |
parent | 6d98c717deb16d265fb1d26528182eb16b07f784 (diff) | |
download | Nim-7ac0b20339eb741fe8c242278cb9eca2534c735c.tar.gz |
fixes #4545
Diffstat (limited to 'tests/overload/tvart_varargs.nim')
-rw-r--r-- | tests/overload/tvart_varargs.nim | 18 |
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) |