diff run/l/lazy_04_C.d @ 1459:872b6f641b5d

[Issue 814] lazy argument + variadic arguments Ville Mattila <ville.mattila@iki.fi> 2007-01-07 http://d.puremagic.com/issues/show_bug.cgi?id=814
author thomask
date Thu, 05 Apr 2007 10:26:56 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/l/lazy_04_C.d	Thu Apr 05 10:26:56 2007 +0000
@@ -0,0 +1,35 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Ville Mattila <ville.mattila@iki.fi>
+// @date@	2007-01-07
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=814
+// @desc@	[Issue 814] lazy argument + variadic arguments
+
+module dstress.run.l.lazy_04_C;
+
+import std.stdarg;
+
+void foo(lazy char[] expression, ...){
+	if("Dog" != expression){
+		assert(0);
+	}
+	if (_arguments.length > 0) {
+		if ((_arguments[0]) == typeid(char[])) {
+			char[] s = va_arg!(char[])(_argptr);
+			if("Katze" != s){
+				assert(0);
+			}
+		}else{
+			assert(0);
+		}
+	}else{
+		assert(0);
+	}
+}
+
+int main(){
+	foo("Dog", "Katze", "Fau");
+	return 0;
+}