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.