On Thursday, 15 September 2016 at 14:42:13 UTC, Jonathan M Davis
wrote:
On Thursday, September 15, 2016 14:07:18 deed via
Digitalmars-d-learn wrote:
On Thursday, 15 September 2016 at 13:57:13 UTC, rikki
cattermole
wrote:
> Not a bug, it is never used.
I'd expect an "Error: ... no effect ..." from the compiler.
That would only work in fairly simplistic cases. For instance,
if you were allocating an array of structs instead of an array
of ints, then it _could_ have an effect. So, it's not an error
that would catch much. And it's not like the code is doing
anything illegal - just useless, which is why it gets optimized
out.
- Jonathan M Davis
I dont't feel strongly about this at all, it was just my first
reaction that it was a meaningless statement that the compiler
should warn about or give an error on.
I'm curious when you would need to do only `new Struct[](1000);`
instead of
`auto structs = new Struct[](1000);`?
In case it was not clear, the code was:
char[] str;
// ...
str.length = ...
str[i] = ...
and was intended to be updated to:
char[] str = new char[](len);
// ...
str[i] = ...
but somehow the line ended up as
char[] str; new char[](len);
// ..
str[i] = ... // oops.