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.

Reply via email to