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.

Reply via email to