Mercurial > projects > dstress
changeset 216:17b5647d8463
structs/unions and setters/getters
Vathix <vathix@dprogramming.com>
2004-12-29
news:opsjr1fu1jkcck4r@tc3-ppp187.dialup.wzrd.com
nntp://digitalmars.com/digitalmars.D.bugs/2620
author | thomask |
---|---|
date | Wed, 29 Dec 2004 23:35:31 +0000 |
parents | b79bc0c00bfc |
children | d28e9d734c7f |
files | run/bug_e2ir_141_A.d run/bug_e2ir_141_B.d run/bug_e2ir_141_C.d run/bug_e2ir_141_D.d |
diffstat | 4 files changed, 127 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/bug_e2ir_141_A.d Wed Dec 29 23:35:31 2004 +0000 @@ -0,0 +1,33 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Vathix <vathix@dprogramming.com> +// @date@ 2004-12-29 +// @uri@ news:opsjr1fu1jkcck4r@tc3-ppp187.dialup.wzrd.com +// @url@ nntp://digitalmars.com/digitalmars.D.bugs/2620 + +module dstress.run.bug_e2ir_141_A; + +struct MyStruct{ + int i; +} + +class MyClass{ + static MyStruct prop(){ + MyStruct s; + return s; + } + + static void prop(MyStruct s){ + } +} + +int main(){ + MyClass c = new MyClass(); + c.prop = true ? MyClass.prop : MyClass.prop; + assert(c.prop.i == 0); + c.prop.i == 7; + assert(c.prop.i == 7); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/bug_e2ir_141_B.d Wed Dec 29 23:35:31 2004 +0000 @@ -0,0 +1,29 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Vathix <vathix@dprogramming.com> +// @date@ 2004-12-29 +// @uri@ news:opsjr1fu1jkcck4r@tc3-ppp187.dialup.wzrd.com +// @url@ nntp://digitalmars.com/digitalmars.D.bugs/2620 + +module dstress.run.bug_e2ir_141_B; + +class MyClass{ + static int prop(){ + int i; + return i; + } + + static void prop(int i){ + } +} + +int main(){ + MyClass c = new MyClass(); + c.prop = true ? MyClass.prop : MyClass.prop; + assert(c.prop == 0); + c.prop == 7; + assert(c.prop == 7); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/bug_e2ir_141_C.d Wed Dec 29 23:35:31 2004 +0000 @@ -0,0 +1,29 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Vathix <vathix@dprogramming.com> +// @date@ 2004-12-29 +// @uri@ news:opsjr1fu1jkcck4r@tc3-ppp187.dialup.wzrd.com +// @url@ nntp://digitalmars.com/digitalmars.D.bugs/2620 + +module dstress.run.bug_e2ir_141_C; + +class MyClass{ + static MyClass prop(){ + return dummy; + } + + static void prop(MyClass o){ + } +} + +MyClass dummy; + +int main(){ + dummy = new MyClass(); + MyClass c = new MyClass(); + c.prop = true ? MyClass.prop : MyClass.prop; + assert(c.prop === dummy); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/bug_e2ir_141_D.d Wed Dec 29 23:35:31 2004 +0000 @@ -0,0 +1,36 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Vathix <vathix@dprogramming.com> +// @date@ 2004-12-29 +// @uri@ news:opsjr1fu1jkcck4r@tc3-ppp187.dialup.wzrd.com +// @url@ nntp://digitalmars.com/digitalmars.D.bugs/2620 + +module dstress.run.bug_e2ir_141_D; + +union MyUnion{ + int a; + int b; +} + +class MyClass{ + static MyUnion prop(){ + MyUnion u; + return u; + } + + static void prop(MyUnion u){ + } +} + +MyClass dummy; + +int main(){ + MyClass c = new MyClass(); + c.prop = true ? MyClass.prop : MyClass.prop; + assert(c.prop.a == 0); + c.prop.a = 1; + assert(c.prop.b == 1); + return 0; +}