# HG changeset patch # User thomask # Date 1175768966 0 # Node ID 4bf2a846ddf297492ad7f7b778d204dba1d9b937 # Parent 030ce9dfefeb440b7b84d99333d900e916434e1f [Issue 850] we need (*type).property to refer to property if we use typedef davidl 2007-01-14 http://d.puremagic.com/issues/show_bug.cgi?id=850 diff -r 030ce9dfefeb -r 4bf2a846ddf2 run/t/typedef_23_A.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/typedef_23_A.d Thu Apr 05 10:29:26 2007 +0000 @@ -0,0 +1,29 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ davidl +// @date@ 2007-01-14 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=850 +// @desc@ [Issue 850] we need (*type).property to refer to property if we use typedef + +module dstress.run.t.typedef_23_A; + +class C{ + int myMember; +} + +void foo(C* x){ + x.myMember = 0xDEAD_DEED; +} + +int main(){ + C c = new C(); + foo(&c); + + if(0xDEAD_DEED != c.myMember){ + assert(0); + } + + return 0; +} diff -r 030ce9dfefeb -r 4bf2a846ddf2 run/t/typedef_23_B.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/typedef_23_B.d Thu Apr 05 10:29:26 2007 +0000 @@ -0,0 +1,31 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ davidl +// @date@ 2007-01-14 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=850 +// @desc@ [Issue 850] we need (*type).property to refer to property if we use typedef + +module dstress.run.t.typedef_23_B; + +class C{ + int myMember; +} + +alias C* X; + +void foo(X x){ + x.myMember = 0xDEAD_DEED; +} + +int main(){ + C c = new C(); + foo(&c); + + if(0xDEAD_DEED != c.myMember){ + assert(0); + } + + return 0; +} diff -r 030ce9dfefeb -r 4bf2a846ddf2 run/t/typedef_23_C.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/typedef_23_C.d Thu Apr 05 10:29:26 2007 +0000 @@ -0,0 +1,31 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ davidl +// @date@ 2007-01-14 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=850 +// @desc@ [Issue 850] we need (*type).property to refer to property if we use typedef + +module dstress.run.t.typedef_23_C; + +class C{ + int myMember; +} + +typedef C* X; + +void foo(X x){ + x.myMember = 0xDEAD_DEED; +} + +int main(){ + C c = new C(); + foo(cast(X) &c); + + if(0xDEAD_DEED != c.myMember){ + assert(0); + } + + return 0; +} diff -r 030ce9dfefeb -r 4bf2a846ddf2 run/t/typedef_23_D.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/typedef_23_D.d Thu Apr 05 10:29:26 2007 +0000 @@ -0,0 +1,31 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ davidl +// @date@ 2007-01-14 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=850 +// @desc@ [Issue 850] we need (*type).property to refer to property if we use typedef + +module dstress.run.t.typedef_23_D; + +class C{ + int myMember; +} + +typedef C* X; + +void foo(X x){ + (*x).myMember = 0xDEAD_DEED; +} + +int main(){ + C c = new C(); + foo(cast(X) &c); + + if(0xDEAD_DEED != c.myMember){ + assert(0); + } + + return 0; +}