What the hell is wrong with D?
jmh530
john.michael.hall at gmail.com
Tue Sep 19 20:57:06 UTC 2017
On Tuesday, 19 September 2017 at 20:00:40 UTC, Brad Anderson
wrote:
>
> If you want to help, I suggest trying to come up with a DIP
> that addresses it while being conscious of how to avoid
> breaking an enormous amount of code. I suspect it's a hard and
> maybe impossible problem but if you are up for the challenge
> I'm sure your efforts would be welcome.
Changing the operator precedence would certainly lead to enormous
breakage.
Most use of the ternary operator is something like
result = a > b ? x : y;
and what he wants is to be forced to say
result = (a + b) ? x : y;
instead of
result = a + b ? x : y;
The problem is that addition/multiplication is above logical
operators in the operator precedence. So if you were to do
something like move conditional ternary above
addition/multiplication, then you also move it above logical
operators and you'd have to use
result = (a > b) ? x : y;
instead of
result = a > b ? x : y;
which kind of defeats the purpose.
More information about the Digitalmars-d-learn
mailing list