# HG changeset patch # User thomask # Date 1183295901 0 # Node ID fe62f80b7ea146e41fbcdc58a894919880faa2f8 # Parent 94c9f2f9af4b0b58ed355940ea3b44b0c5a0006a [Issue 1253] DMD 0.175 introduced bug: array initializers as expressions are not allowed? Oskar Linde 2007-06-01 http://d.puremagic.com/issues/show_bug.cgi?id=1253 diff -r 94c9f2f9af4b -r fe62f80b7ea1 run/s/struct_initialization_11_A.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/s/struct_initialization_11_A.d Sun Jul 01 13:18:21 2007 +0000 @@ -0,0 +1,39 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Oskar Linde +// @date@ 2007-06-01 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1253 +// @desc@ [Issue 1253] DMD 0.175 introduced bug: array initializers as expressions are not allowed? + +module dstress.run.s.struct_initialization_11_A; + +struct T { + int a; + int b; +} + +const T[] arr = [{1, 2}, {3, 4}]; + +int main() { + T[] arr2 = arr.dup; + + if(arr2.length != arr.length){ + assert(0); + } + if(arr2[0].a != arr[0].a){ + assert(0); + } + if(arr2[0].b != arr[0].b){ + assert(0); + } + if(arr2[1].a != arr[1].a){ + assert(0); + } + if(arr2[1].b != arr[1].b){ + assert(0); + } + + return 0; +} diff -r 94c9f2f9af4b -r fe62f80b7ea1 run/s/struct_initialization_11_B.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/s/struct_initialization_11_B.d Sun Jul 01 13:18:21 2007 +0000 @@ -0,0 +1,33 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Oskar Linde +// @date@ 2007-06-01 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1253 +// @desc@ [Issue 1253] DMD 0.175 introduced bug: array initializers as expressions are not allowed? + +module dstress.run.s.struct_initialization_11_B; + +struct T { + int a; + int b; +} + +const T[] arr = [{1, 2}, {3, 4}]; + +int main() { + T[] arr2 = arr.dup; + + if(arr2.length != arr.length){ + assert(0); + } + if(arr2[0] != arr[0]){ + assert(0); + } + if(arr2[1] != arr[1]){ + assert(0); + } + + return 0; +} diff -r 94c9f2f9af4b -r fe62f80b7ea1 run/s/struct_initialization_11_C.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/s/struct_initialization_11_C.d Sun Jul 01 13:18:21 2007 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Oskar Linde +// @date@ 2007-06-01 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1253 +// @desc@ [Issue 1253] DMD 0.175 introduced bug: array initializers as expressions are not allowed? + +module dstress.run.s.struct_initialization_11_C; + +struct T { + int a; + int b; +} + +const T[] arr = [{1, 2}, {3, 4}]; + +int main() { + T[] arr2 = arr.dup; + + if(arr2 != arr){ + assert(0); + } + + return 0; +}