Mercurial > projects > dstress
view run/l/lazy_03_D.d @ 1619:bebc7472a832
Fix #7.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sat, 07 Nov 2009 18:55:30 +0100 |
parents | 623963e374c5 |
children |
line wrap: on
line source
// $HeadURL$ // $Date$ // $Author$ // @author@ Mark Guidarelli <guido@grumpy-cat.com> // @date@ 2007-03-31 // @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1088 // @desc@ [Issue 1088] structs allocated with a struct allocator will not have default initializer values assigned module dstress.run.l.lazy_03_D; import std.stdarg; int step; int[] master = [0x12_34_56_78, 0x12_34_56_78, 0xAB_CD_EF_00, 0xAB_CD_EF_00]; void test(...){ if(1 != _arguments.length){ assert(0); } if(typeid(int) != _arguments[0]){ assert(0); } int i = va_arg!(int)(_argptr); if(master[step] != i){ assert(0); } step++; } int foo() { test(0x12_34_56_78); return 0xAB_CD_EF_00; } void bar(lazy int[] bla) { foreach (elem; bla){ test(elem); } } int main() { bar([foo(), foo()]); if(step != master.length){ assert(0); } return 0; }