summary refs log tree commit diff stats
path: root/tests/overload
diff options
context:
space:
mode:
Diffstat (limited to 'tests/overload')
-rw-r--r--tests/overload/tissue4475.nim6
-rw-r--r--tests/overload/tstmtoverload.nim2
-rw-r--r--tests/overload/tvart_varargs.nim18
3 files changed, 25 insertions, 1 deletions
diff --git a/tests/overload/tissue4475.nim b/tests/overload/tissue4475.nim
new file mode 100644
index 000000000..34618cac5
--- /dev/null
+++ b/tests/overload/tissue4475.nim
@@ -0,0 +1,6 @@
+# Bug: https://github.com/nim-lang/Nim/issues/4475
+# Fix: https://github.com/nim-lang/Nim/pull/4477
+
+proc test(x: varargs[string], y: int) = discard
+
+test(y = 1)
diff --git a/tests/overload/tstmtoverload.nim b/tests/overload/tstmtoverload.nim
index f1944b637..75584bcab 100644
--- a/tests/overload/tstmtoverload.nim
+++ b/tests/overload/tstmtoverload.nim
@@ -10,7 +10,7 @@ template test(loopCount: int, extraI: int, testBody: stmt): stmt =
 
 template test(loopCount: int, extraF: float, testBody: stmt): stmt =
   block:
-    test(loopCount, round(extraF), testBody)
+    test(loopCount, round(extraF).int, testBody)
 
 template test(loopCount: int, testBody: stmt): stmt =
   block:
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)