changeset 1544:ab3b56fdd9ab

[Issue 1148] Weird error "... of type TOK146" on recursive type definition Bruno Medeiros <brunodomedeiros+bugz@gmail.com> 2007-05-26 http://d.puremagic.com/issues/show_bug.cgi?id=1148
author thomask
date Sun, 01 Jul 2007 13:22:46 +0000
parents 9597b1b8030f
children 111a9895f863
files run/t/typeof_17_A.d run/t/typeof_17_B.d run/t/typeof_17_C.d
diffstat 3 files changed, 90 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/t/typeof_17_A.d	Sun Jul 01 13:22:46 2007 +0000
@@ -0,0 +1,32 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Bruno Medeiros <brunodomedeiros+bugz@gmail.com>
+// @date@	2007-05-26
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1148
+// @desc@	[Issue 1148] Weird error "... of type TOK146" on recursive type definition
+
+module dstress.run.t.typeof_17_A;
+
+void* v;
+
+void bar(void* fn){
+	v = cast(void*)fn;
+}
+
+void foo(functype param) {
+	param(null);
+}
+
+alias void function(void*) functype;
+
+int main(){
+	v = &main;
+	foo(&bar);
+	if(null !is v){
+		assert(0);
+	}
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/t/typeof_17_B.d	Sun Jul 01 13:22:46 2007 +0000
@@ -0,0 +1,34 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Bruno Medeiros <brunodomedeiros+bugz@gmail.com>
+// @date@	2007-05-26
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1148
+// @desc@	[Issue 1148] Weird error "... of type TOK146" on recursive type definition
+
+module dstress.run.t.typeof_17_B;
+
+int count;
+
+void foo(functype param) {
+	count++;
+	if(param){
+		param(null);
+	}
+}
+
+alias typeof(&foo) functype;
+
+int main(){
+	foo(null);
+	if(count != 1){
+		assert(0);
+	}
+	foo(&foo);
+	if(count != 3){
+		assert(0);
+	}
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/t/typeof_17_C.d	Sun Jul 01 13:22:46 2007 +0000
@@ -0,0 +1,24 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Bruno Medeiros <brunodomedeiros+bugz@gmail.com>
+// @date@	2007-05-26
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1148
+// @desc@	[Issue 1148] Weird error "... of type TOK146" on recursive type definition
+
+module dstress.run.t.typeof_17_C;
+
+functype foo(int i) {
+	return null;
+}
+
+alias typeof(&foo) functype;
+
+int main(){
+	if(foo(1) !is null){
+		assert(0);
+	}
+
+	return 0;
+}