summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorZahary Karadjov <zahary@gmail.com>2013-05-04 02:30:15 +0300
committerZahary Karadjov <zahary@gmail.com>2013-05-04 02:30:15 +0300
commit05fd46cdd1ce26b714888182ab69dcf2cd3d6ed2 (patch)
treec39f85f9c23e02569dbbe1a61ed79497581d0443
parent4864447ba4e9541f8987232ca3c3e611f0e69ede (diff)
downloadNim-05fd46cdd1ce26b714888182ab69dcf2cd3d6ed2.tar.gz
failing test case demonstrating how generic arguments are preferred to
openarray and varargs arguments
-rw-r--r--tests/run/tvarargs_vs_generic.nim26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/run/tvarargs_vs_generic.nim b/tests/run/tvarargs_vs_generic.nim
new file mode 100644
index 000000000..7c1fa67b2
--- /dev/null
+++ b/tests/run/tvarargs_vs_generic.nim
@@ -0,0 +1,26 @@
+discard """
+  output: "direct\nopenarray\nvarargs"
+"""
+
+proc withDirectType(args: string) =
+  echo "direct"
+
+proc withDirectType[T](arg: T) =
+  echo "generic"
+
+proc withOpenArray(args: openarray[string]) =
+  echo "openarray"
+
+proc withOpenArray[T](arg: T) =
+  echo "generic"
+
+proc withVarargs(args: varargs[string]) =
+  echo "varargs"
+
+proc withVarargs[T](arg: T) =
+  echo "generic"
+
+withDirectType "string"
+withOpenArray "string"
+withVarargs "string"
+