On Sunday, January 22, 2012 17:51:36 Caligo wrote: > struct A(uint samples){ > > float[samples] _data = void; > > this(float val = 0.0f){ fill(_data[], val); } > } > > > auto a = A!8(); > > a._data is filled with garbage instead of zeros because the > no-argument constructor is called instead of the one that I've > defined.
http://d.puremagic.com/issues/show_bug.cgi?id=3438 It should be illegal to have a struct constructor where all of its parameters have default arguments. If you want to have all default arguments, then use static opCall instead. - Jonathan M Davis