# HG changeset patch # User thomask # Date 1191145584 0 # Node ID 1d41f2132ef42ecbeafb90683de5d33a2cead7e5 # Parent 17cb36e8f9ae778085e020a0d25770cfe866ad48 r8717@birke: tk | 2007-09-30 10:45:56 +0200 [Issue 1532] Template instance cannot use class locals as template parameters 2007-09-07 http://d.puremagic.com/issues/show_bug.cgi?id=1532 diff -r 17cb36e8f9ae -r 1d41f2132ef4 run/t/template_65_A.d --- /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@ +// @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; +} diff -r 17cb36e8f9ae -r 1d41f2132ef4 run/t/template_65_B.d --- /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@ +// @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; +} diff -r 17cb36e8f9ae -r 1d41f2132ef4 run/t/template_65_C.d --- /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@ +// @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; +} diff -r 17cb36e8f9ae -r 1d41f2132ef4 run/t/template_65_D.d --- /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@ +// @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; +}