On Thursday, 27 February 2020 at 14:32:29 UTC, Petar Kirov
[ZombineDev] wrote:
On Thursday, 27 February 2020 at 09:30:30 UTC, Walter Bright
wrote:
Rust does not follow C syntax at all, so nobody will
reasonably expect it to have C semantics. D does follow it,
it's a feature, so people will have expectations.
I'm not sure where exactly you draw the line, but I would say
that C# follows C's syntax about as much as D does. Yet it
doesn't import some of the broken C semantics like implicit
narrowing conversions (luckily, neither does D) and allowing
mixed sign comparisons (the oldest open D issue :( [0]).
My point is that if D didn't follow the usual arithmetic
conversions, much fewer newcomers would even notice compared to
extremely large backlash that we may get if go with the string
interpolation -> raw tuple approach.
[0]: https://issues.dlang.org/show_bug.cgi?id=259
Funnily enough the only contribution by Walter in that 14 year
old bug is him trying to close it without there having been a
solution implemented.
The spec is also still wrong, after 14 years.
https://dlang.org/spec/expression.html#integer_comparisons