changeset 1574:40a86c79a1c4

[Issue 1264] New: anon class in anon delegate in private member == ICE <default_357-line@yahoo.de> 2007-06-13 http://d.puremagic.com/issues/show_bug.cgi?id=1264
author thomask
date Thu, 21 Feb 2008 15:19:32 +0000
parents 81b51faeeefe
children 3d75bc76b7ae
files run/i/interface_27_A.d run/i/interface_27_B.d run/i/interface_27_C.d run/i/interface_27_D.d
diffstat 4 files changed, 148 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/i/interface_27_A.d	Thu Feb 21 15:19:32 2008 +0000
@@ -0,0 +1,37 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	<default_357-line@yahoo.de>
+// @date@	2007-06-13
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1264
+// @desc@	[Issue 1264] New: anon class in anon delegate in private member == ICE
+
+module dstress.run.i.interface_27_A;
+
+interface I{
+	int foo();
+}
+
+int main() {
+	int check = 0x1234ABCD;
+
+	I o = null;
+	
+	(){
+		o = new class I{
+			int foo() {
+				return 1 + check;
+			}
+		};
+	}();
+
+	if(0x1234ABCE != o.foo()){
+		assert(0);
+	}
+	if(0x1234ABCD != check){
+		assert(0);
+	}
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/i/interface_27_B.d	Thu Feb 21 15:19:32 2008 +0000
@@ -0,0 +1,37 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	<default_357-line@yahoo.de>
+// @date@	2007-06-13
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1264
+// @desc@	[Issue 1264] New: anon class in anon delegate in private member == ICE
+
+module dstress.run.i.interface_27_B;
+
+abstract class X{
+	int foo();
+}
+
+int main() {
+	int check = 0x1234ABCD;
+
+	X o = null;
+	
+	(){
+		o = new class X{
+			int foo() {
+				return 1 + check;
+			}
+		};
+	}();
+
+	if(0x1234ABCE != o.foo()){
+		assert(0);
+	}
+	if(0x1234ABCD != check){
+		assert(0);
+	}
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/i/interface_27_C.d	Thu Feb 21 15:19:32 2008 +0000
@@ -0,0 +1,37 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	<default_357-line@yahoo.de>
+// @date@	2007-06-13
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1264
+// @desc@	[Issue 1264] New: anon class in anon delegate in private member == ICE
+
+module dstress.run.i.interface_27_C;
+
+class X{
+	abstract int foo();
+}
+
+int main() {
+	int check = 0x1234ABCD;
+
+	X o = null;
+	
+	(){
+		o = new class X{
+			int foo() {
+				return 1 + check;
+			}
+		};
+	}();
+
+	if(0x1234ABCE != o.foo()){
+		assert(0);
+	}
+	if(0x1234ABCD != check){
+		assert(0);
+	}
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/i/interface_27_D.d	Thu Feb 21 15:19:32 2008 +0000
@@ -0,0 +1,37 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	<default_357-line@yahoo.de>
+// @date@	2007-06-13
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1264
+// @desc@	[Issue 1264] New: anon class in anon delegate in private member == ICE
+
+module dstress.run.i.interface_27_D;
+
+class X{
+	int foo();
+}
+
+int main() {
+	int check = 0x1234ABCD;
+
+	X o = null;
+	
+	(){
+		o = new class X{
+			int foo() {
+				return 1 + check;
+			}
+		};
+	}();
+
+	if(0x1234ABCE != o.foo()){
+		assert(0);
+	}
+	if(0x1234ABCD != check){
+		assert(0);
+	}
+
+	return 0;
+}