diff test/vararg3.d @ 57:a9d29e9f1fed trunk

[svn r61] Added support for D-style variadic functions :)
author lindquist
date Thu, 25 Oct 2007 02:39:53 +0200
parents
children d9d5d59873d8
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/vararg3.d	Thu Oct 25 02:39:53 2007 +0200
@@ -0,0 +1,19 @@
+module vararg3;
+
+import std.stdarg;
+
+void func(...)
+{
+    assert(_arguments.length == 3);
+    assert(_arguments[0] is typeid(int));
+    assert(_arguments[1] is typeid(float));
+    assert(_arguments[2] is typeid(long));
+    assert(va_arg!(int)(_argptr) == 4);
+    assert(va_arg!(float)(_argptr) == 2.5f);
+    assert(va_arg!(long)(_argptr) == 42L);
+}
+
+void main()
+{
+    func(4, 2.5f, 42L);
+}