Mercurial > projects > dstress
changeset 1510:f0259cabdf78
[Issue 1140] ICE casting tuple member to tuple struct
Don Clugston <clugdbug@yahoo.com.au>
2007-04-03
http://d.puremagic.com/issues/show_bug.cgi?id=1140
author | thomask |
---|---|
date | Mon, 23 Apr 2007 18:08:12 +0000 |
parents | fba3b66d0276 |
children | fcafb2c9da5f |
files | run/t/template_struct_09_A.d run/t/template_struct_09_B.d run/t/template_struct_09_C.d |
diffstat | 3 files changed, 73 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/template_struct_09_A.d Mon Apr 23 18:08:12 2007 +0000 @@ -0,0 +1,23 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Don Clugston <clugdbug@yahoo.com.au> +// @date@ 2007-04-03 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1140 +// @desc@ [Issue 1140] ICE casting tuple member to tuple struct + +module dstress.run.t.template_struct_09_A; + +struct Dog(B...){ + B values; + + static Dog!(B) create(B x) { + return *cast(Dog!(B)*)(&x[1]); + } +} + +int main(){ + auto c = Dog!(int, int).create(7, 5); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/template_struct_09_B.d Mon Apr 23 18:08:12 2007 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Don Clugston <clugdbug@yahoo.com.au> +// @date@ 2007-04-03 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1140 +// @desc@ [Issue 1140] ICE casting tuple member to tuple struct + +module dstress.run.t.template_struct_09_B; + +struct Cat{ + int i; +} + +struct Dog(B...){ + B values; + + static Cat create(B x) { + return *cast(Cat*)(&x[1]); + } +} + +int main(){ + auto c = Dog!(int, int).create(7, 5); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/template_struct_09_C.d Mon Apr 23 18:08:12 2007 +0000 @@ -0,0 +1,23 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Don Clugston <clugdbug@yahoo.com.au> +// @date@ 2007-04-03 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1140 +// @desc@ [Issue 1140] ICE casting tuple member to tuple struct + +module dstress.run.t.template_struct_09_C; + +class Dog(B...){ + B values; + + static Dog!(B) create(B x) { + return *cast(Dog!(B)*)(&x[1]); + } +} + +int main(){ + auto c = Dog!(int, int).create(7, 5); + return 0; +}