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.
  • bug? deed via Digitalmars-d-learn
    • Re: bug? rikki cattermole via Digitalmars-d-learn
      • Re: bug? Daniel Kozak via Digitalmars-d-learn
      • Re: bug? deed via Digitalmars-d-learn
        • Re: bug? Jonathan M Davis via Digitalmars-d-learn
        • Re: bug? deed via Digitalmars-d-learn
          • Re: bug? Jonathan M Davis via Digitalmars-d-learn
            • Re: bug? Jonathan M Davis via Digitalmars-d-learn
    • Re: bug? koia via Digitalmars-d-learn

Reply via email to