changeset 1446:62646ef1013a

[Issue 1075] dmd reject valid code david <davidl@126.com> 2007-03-21 http://d.puremagic.com/issues/show_bug.cgi?id=1075
author thomask
date Wed, 04 Apr 2007 17:35:10 +0000
parents 724d76f90c83
children ef3062e62d77
files run/m/mixin_30_A.d run/m/mixin_30_B.d run/m/mixin_30_C.d run/m/mixin_30_D.d run/m/mixin_30_E.d
diffstat 5 files changed, 161 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/m/mixin_30_A.d	Wed Apr 04 17:35:10 2007 +0000
@@ -0,0 +1,32 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	david <davidl@126.com>
+// @date@	2007-03-21
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1075
+// @desc@	[Issue 1075] dmd reject valid code
+
+module dstress.run.m.mixin_30_A;
+
+int x;
+
+class Outer{
+	int y;
+
+	class Inner{
+		mixin("this(){ x += y; }");
+	}
+}
+
+int main(){
+	Outer o = new Outer();
+	o.y = 3;
+	x = 2;
+	Outer.Inner i = o.new Inner();
+
+	if(5 != x){
+		assert(0);
+	}
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/m/mixin_30_B.d	Wed Apr 04 17:35:10 2007 +0000
@@ -0,0 +1,33 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	david <davidl@126.com>
+// @date@	2007-03-21
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1075
+// @desc@	[Issue 1075] dmd reject valid code
+
+module dstress.run.m.mixin_30_B;
+
+int x;
+
+class Outer{
+	static const char[] c = "this(){ x += y; }";
+	int y;
+
+	class Inner{
+		mixin(c);
+	}
+}
+
+int main(){
+	Outer o = new Outer();
+	o.y = 3;
+	x = 2;
+	Outer.Inner i = o.new Inner();
+
+	if(5 != x){
+		assert(0);
+	}
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/m/mixin_30_C.d	Wed Apr 04 17:35:10 2007 +0000
@@ -0,0 +1,36 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	david <davidl@126.com>
+// @date@	2007-03-21
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1075
+// @desc@	[Issue 1075] dmd reject valid code
+
+module dstress.run.m.mixin_30_C;
+
+int x;
+
+class Outer{
+	static char[] c(){
+		return "this(){ x += y; }";
+	}
+
+	int y;
+
+	class Inner{
+		mixin(c());
+	}
+}
+
+int main(){
+	Outer o = new Outer();
+	o.y = 3;
+	x = 2;
+	Outer.Inner i = o.new Inner();
+
+	if(5 != x){
+		assert(0);
+	}
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/m/mixin_30_D.d	Wed Apr 04 17:35:10 2007 +0000
@@ -0,0 +1,30 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	david <davidl@126.com>
+// @date@	2007-03-21
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1075
+// @desc@	[Issue 1075] dmd reject valid code
+
+module dstress.run.m.mixin_30_D;
+
+int x;
+
+class Outer{
+	static char[] c(){
+		return "this(){ x++; }";
+	}
+
+	mixin(c());
+}
+
+int main(){
+	x = 0;
+
+	Outer o = new Outer();
+	if(1 != x){
+		assert(0);
+	}
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/m/mixin_30_E.d	Wed Apr 04 17:35:10 2007 +0000
@@ -0,0 +1,30 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	david <davidl@126.com>
+// @date@	2007-03-21
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1075
+// @desc@	[Issue 1075] dmd reject valid code
+
+module dstress.run.m.mixin_30_E;
+
+int x;
+
+static char[] c(){
+	return "this(){ x++; }";
+}
+
+class Outer{
+	mixin(c());
+}
+
+int main(){
+	x = 0;
+
+	Outer o = new Outer();
+	if(1 != x){
+		assert(0);
+	}
+	return 0;
+}