On Sunday, 2 April 2017 at 11:44:16 UTC, David Nadlinger wrote:
On Sunday, 2 April 2017 at 10:55:22 UTC, Johan Engelen wrote:
  a ~ "abc"  "def";

If the order is important, make it `a ~ ("abc" ~ "def")` instead. I'd argue that with concatenation usually being left-associative, clearly stating the intention to evaluate the side first would be a good idea anyway.

But even if you didn't agree with this line of thought, wouldn't having to add a pair of parentheses here and there be a small price to pay for avoiding a very real source of bugs? Or are you just worried about the deprecation message leading people into inadvertently introducing a behaviour change when they just mechanically applied the fix to the code?

I've been thinking for some time now about making a good code formatter, and the removal of the automatic concat (and the necessity of parens) makes automatic reformatting of code _a lot_ harder.

About the deprecation message: perhaps the parentheses should be included to guarantee no behaviour change. It's important to be able to trust the compiler.

But I am happy to see some thought went into this:
https://forum.dlang.org/post/ibhug0$3065$1...@digitalmars.com
https://issues.dlang.org/show_bug.cgi?id=3827
It'd help to have such links in the release notes or in the deprecation description.

-Johan

Reply via email to