On Tuesday, 15 April 2014 at 06:31:02 UTC, Andrei Alexandrescu
wrote:
We've just enabled warnings as errors in our build system at
work and suddenly:
Warning: explicit element-wise assignment <exprnew> is better
than <expr>
where <exprnew> and <expr> are expressions picked from the
code. For example, this wasn't accepted:
writeAvail_[0 .. buf.length] = buf;
but this was:
writeAvail_[0 .. buf.length] = buf[];
The type of the involved variables were as trivial as ubyte[]
and in ubyte[] respectively.
What's the idea?
Andrei
The correct syntax is
writeAvail_[0 .. buf.length] = buf[];
as the other syntax is for assigning a single value to all
elements of the destination array. At least that's how I've
always seen it.
I'm not sure what that warning is talking about though.