On Thursday, 27 March 2014 at 11:32:45 UTC, Kagamin wrote:
On Wednesday, 26 March 2014 at 16:21:01 UTC, H. S. Teoh wrote:
What we're proposing is to get rid of things like this:

        int x = 1, 5;   // hands up, how many understand what this does?

This proposal gets rid of this while keeping the comma operator.

The point is that this is not the comma operator, and is already illegal to begin with.

*This* is what is being made illegal
int x = (1, 5);

The point being that most programmers don't actually understand all the subtleties of comma operator vs argument listing. Mysielf included (I also thought that was a comma operator...)

Also, not to mention issues with things like operator precedence...
a = 1, 5 + 2; //What's a?
a = (1 + 2, 5); //What's a?

Speaking of which:
a = 1, 5 + 2;
Why doesn't dmd emit an "operator , has no effect" error?

Or
a = (1 + 2, 5)
Why doesn't dmd emit an "operator + has no effect" error?

Reply via email to