On Thursday, 11 October 2018 at 23:17:15 UTC, Jonathan Marler
wrote:
I had a look at the table again, looks like the ternary
operator is on there, just called the "conditional operator".
And to clarify, D's operator precedence is close to C/C++ but
doesn't match exactly. This is likely a result of the grammar
differences rather than an intention one. For example, the
"Conditional operator" in D actually has a higher priority than
an assignment, but in C++ it's the same and is evaluated
right-to-left. So this expression would be different in C++
and D:
a ? b : c = d
In D it would be:
(a ? b : c ) = d
And in C++ would be:
a ? b : (c = d)
That's https://issues.dlang.org/show_bug.cgi?id=14186