On Wednesday, 26 September 2018 at 01:13:11 UTC, Jonathan M Davis
wrote:
The way that C++ handles warnings is how I've seen most
languages handle warnings. IMHO, the only time that anything
along the lines of a warning makes sense is when the programmer
is proactively running a tool to specifically ask to be
informed of a potential type of problem where they will then go
look at each of them individually and decide whether what the
tool is telling them is valid or not - at which point, some of
what the tool says will be followed, and some if it will be
ignored. It's not something that should be run as part of a
normal build process. If it is, then inevitably what happens is
that either all of the warnings get "fixed" (at which point,
they might as well have all been errors), or they all get
ignored, meaning that you get a huge wall of them, and they're
completely useless. As such, I really have nothing good to say
about having any kind of warnings being built into the
compiler. As I understand it, on the whole, Walter agrees with
me and that he only added them in to dmd, because he was
essentially bullied into it, and I wish that he'd never given
in. And when you consider features like is(typeof(...)), the
side effects of having -w are particularly bad.
- Jonathan M Davis
I would say that at least deprecations make sense as warnings
from the compiler. Deprecated stuff is something the user has to
be warned about, even if they're not using a linter, since it's
going to break at some point but should be supported for a
minimum amount of time to ensure a smooth transition.