changeset 645:46bd43d9404f

Victor Nakoryakov <nail-mail@mail.ru> 2005-07-07 news:daj84k$15p4$1@digitaldaemon.com
author thomask
date Sun, 28 Aug 2005 09:50:54 +0000
parents 6669727742f2
children 91287c8afc01
files run/b/bug_expression_4275_A.d run/b/bug_expression_4275_B.d
diffstat 2 files changed, 74 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/b/bug_expression_4275_A.d	Sun Aug 28 09:50:54 2005 +0000
@@ -0,0 +1,37 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Victor Nakoryakov <nail-mail@mail.ru>
+// @date@	2005-07-07
+// @uri@	news:daj84k$15p4$1@digitaldaemon.com
+
+module dstress.run.b.bug_expression_4275_A;
+
+class MyClass{
+	template foo(T){
+		T[] foo(){
+			T[] x;
+			return x;
+		}
+	}
+	
+	int dummy;
+}
+
+class Container{
+	MyClass element(){
+		MyClass x = new MyClass;
+		return x;
+	}
+}
+
+int main(){
+	Container container = new Container();
+	MyClass myclass = new MyClass();
+    
+	assert( container.element.foo!(MyClass).sizeof == (MyClass[]).sizeof );
+	assert( myclass.foo!(MyClass).length == 0 || myclass.foo!(MyClass)[0] is myclass );
+
+	return 0;
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/b/bug_expression_4275_B.d	Sun Aug 28 09:50:54 2005 +0000
@@ -0,0 +1,37 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Victor Nakoryakov <nail-mail@mail.ru>
+// @date@	2005-07-07
+// @uri@	news:daj84k$15p4$1@digitaldaemon.com
+
+module dstress.run.b.bug_expression_4275_B;
+
+class MyClass{
+	template foo(T){
+		T[] foo(){
+			T[] x;
+			return x;
+		}
+	}
+	
+	int dummy;
+}
+
+class Container{
+	MyClass element(){
+		MyClass x = new MyClass;
+		return x;
+	}
+}
+
+int main(){
+	Container container = new Container();
+	MyClass myclass = new MyClass();
+    
+	assert( container.element().foo!(MyClass).sizeof == (MyClass[]).sizeof );
+	assert( myclass.foo!(MyClass).length == 0 || myclass.foo!(MyClass)[0] is myclass );
+
+	return 0;
+}
\ No newline at end of file