changeset 1564:1d41f2132ef4

r8717@birke: tk | 2007-09-30 10:45:56 +0200 [Issue 1532] Template instance cannot use class locals as template parameters <samukha@voliacable.com> 2007-09-07 http://d.puremagic.com/issues/show_bug.cgi?id=1532
author thomask
date Sun, 30 Sep 2007 09:46:24 +0000
parents 17cb36e8f9ae
children 6424a05d3113
files run/t/template_65_A.d run/t/template_65_B.d run/t/template_65_C.d run/t/template_65_D.d
diffstat 4 files changed, 124 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/t/template_65_A.d	Sun Sep 30 09:46:24 2007 +0000
@@ -0,0 +1,32 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	<samukha@voliacable.com>
+// @date@	2007-09-07
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1532
+// @desc@	[Issue 1532] Template instance cannot use class locals as template parameters
+
+module dstress.run.t.template_65_A;
+
+class C{
+	template T(alias local){
+		int T(){
+			return local;
+		}
+	}
+
+	int foo(){
+		return 0x12_AB_34_EF;
+	}
+
+	alias T!(foo) bar;
+}
+
+int main(){
+	C c = new C();
+	if(0x12_AB_34_EF != c.bar()){
+		assert(0);
+	}
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/t/template_65_B.d	Sun Sep 30 09:46:24 2007 +0000
@@ -0,0 +1,30 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	<samukha@voliacable.com>
+// @date@	2007-09-07
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1532
+// @desc@	[Issue 1532] Template instance cannot use class locals as template parameters
+
+module dstress.run.t.template_65_B;
+
+class C{
+	template T(alias local){
+		int T(){
+			return local;
+		}
+	}
+
+	int foo = 0x12_AB_34_EF;
+
+	alias T!(foo) bar;
+}
+
+int main(){
+	C c = new C();
+	if(0x12_AB_34_EF != c.bar()){
+		assert(0);
+	}
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/t/template_65_C.d	Sun Sep 30 09:46:24 2007 +0000
@@ -0,0 +1,30 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	<samukha@voliacable.com>
+// @date@	2007-09-07
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1532
+// @desc@	[Issue 1532] Template instance cannot use class locals as template parameters
+
+module dstress.run.t.template_65_C;
+
+struct S{
+	template T(alias local){
+		int T(){
+			return local;
+		}
+	}
+
+	int foo = 0x12_AB_34_EF;
+
+	alias T!(foo) bar;
+}
+
+int main(){
+	S s;
+	if(0x12_AB_34_EF != s.bar()){
+		assert(0);
+	}
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/t/template_65_D.d	Sun Sep 30 09:46:24 2007 +0000
@@ -0,0 +1,32 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	<samukha@voliacable.com>
+// @date@	2007-09-07
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1532
+// @desc@	[Issue 1532] Template instance cannot use class locals as template parameters
+
+module dstress.run.t.template_65_D;
+
+struct S{
+	template T(alias local){
+		int T(){
+			return local;
+		}
+	}
+
+	int foo(){
+			return 0x12_AB_34_EF;
+	}
+
+	alias T!(foo) bar;
+}
+
+int main(){
+	S s;
+	if(0x12_AB_34_EF != s.bar()){
+		assert(0);
+	}
+	return 0;
+}