diff run/constructor_10.d @ 338:1f6cf5ccfbc9

1) updated rules to dmd-0.119 2) added __DSTRESS_ELINE__ tags
author thomask
date Mon, 21 Mar 2005 20:45:57 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/constructor_10.d	Mon Mar 21 20:45:57 2005 +0000
@@ -0,0 +1,43 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// Static constructors within a module are executed in the lexical order in which they appear.
+
+module dstress.run.constructor_10;
+
+bool init;
+bool initA;
+bool initB;
+
+static this(){
+	assert(!init);
+	assert(!initA);
+	assert(!initB);
+	init=true;
+}
+
+class B{
+	static this(){
+		assert(init);
+		assert(!initA);
+		assert(!initB);
+		initB=true;
+	}
+}
+
+class A{
+	static this(){
+		assert(init);
+		assert(!initA);
+		assert(initB);
+		initA=true;
+	}
+}
+
+int main(){
+	assert(init);
+	assert(initA);
+	assert(initB);
+	return 0;
+}