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