www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Regarding warnings

reply "bearophile" <bearophileHUGS lycos.com> writes:
I suggest to remove the "-w" switch from the list of dmd/ldc2 
switches, and later to remove that functionality too. It's better 
to keep only the informational warnings.

I keep seeing people in D.learn that miss warnings because they 
don't active them, so I suggest to activate informational 
warnings on default.

And then I suggest to add a switch to disable the warnings, for 
the rare situations where you don't want them.

Bye,
bearophile
Jun 29 2013
next sibling parent "w0rp" <devw0rp gmail.com> writes:
On Saturday, 29 June 2013 at 16:07:57 UTC, bearophile wrote:
 I suggest to remove the "-w" switch from the list of dmd/ldc2 
 switches, and later to remove that functionality too. It's 
 better to keep only the informational warnings.

 I keep seeing people in D.learn that miss warnings because they 
 don't active them, so I suggest to activate informational 
 warnings on default.

 And then I suggest to add a switch to disable the warnings, for 
 the rare situations where you don't want them.

 Bye,
 bearophile

This might increase knowledge like you say. Plus, you'd have warnings about stuff like implicit switch case fall-through as the default. I think this idea sounds okay.
Jun 29 2013
prev sibling next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
w0rp:

 This might increase knowledge like you say. Plus, you'd have 
 warnings about stuff like implicit switch case fall-through as 
 the default. I think this idea sounds okay.

I think a "strong, silent type" of D compiler is not the best. Maybe Walter can offer an opinion, even negative :-) Bye, bearophile
Jun 29 2013
prev sibling next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Saturday, June 29, 2013 18:07:55 bearophile wrote:
 I suggest to remove the "-w" switch from the list of dmd/ldc2
 switches, and later to remove that functionality too. It's better
 to keep only the informational warnings.
 
 I keep seeing people in D.learn that miss warnings because they
 don't active them, so I suggest to activate informational
 warnings on default.
 
 And then I suggest to add a switch to disable the warnings, for
 the rare situations where you don't want them.

http://d.puremagic.com/issues/show_bug.cgi?id=10147 - Jonathan M Davis
Jun 29 2013
prev sibling next sibling parent "John Colvin" <john.loughran.colvin gmail.com> writes:
On Saturday, 29 June 2013 at 16:07:57 UTC, bearophile wrote:
 I suggest to remove the "-w" switch from the list of dmd/ldc2 
 switches, and later to remove that functionality too. It's 
 better to keep only the informational warnings.

 I keep seeing people in D.learn that miss warnings because they 
 don't active them, so I suggest to activate informational 
 warnings on default.

 And then I suggest to add a switch to disable the warnings, for 
 the rare situations where you don't want them.

 Bye,
 bearophile

I've been using D heavily for well over a year now and I've never used -w (facepalm) That's good anecdotal evidence that it should be opt-out not opt-in. Brb... Recompiling all my code with -w to find out my stupid mistakes :p
Jun 29 2013
prev sibling next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
John Colvin:

 I've been using D heavily for well over a year now and I've 
 never used -w (facepalm)
 That's good anecdotal evidence that it should be opt-out not 
 opt-in.

 Brb... Recompiling all my code with -w to find out my stupid 
 mistakes :p

If you seem my first point, I am suggesting to remove "-w" from the switches and to use "-wi" (actually I am suggesting "-wi" to become the default compilation mode). Bye, bearophile
Jun 29 2013
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 6/30/13, bearophile <bearophileHUGS lycos.com> wrote:
 If you seem my first point, I am suggesting to remove "-w" from
 the switches and to use "-wi" (actually I am suggesting "-wi" to
 become the default compilation mode).

Regardless of any FR's I still want to ability for compilation to halt on a warning, even if it means a new switch. As for the whole -w/-wi thing, why can't people just read the list of switches?
Jun 29 2013
prev sibling next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Andrej Mitrovic:

 I still want to ability for compilation to halt on a warning,

It's a fair desire, but for it probably the problems in Issue 10321 need to be faced first.
 As for the whole -w/-wi thing, why can't people just
 read the list of switches?

I have seen tens of times that this doesn't happen, in D.learn, in #D on IRC and with friends, students, etc. Silent compilers that keep the muzzle shut on default are not good enough. John Colvin's answer is not so unusual. Bye, bearophile
Jun 29 2013
prev sibling next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Jonathan M Davis:

 http://d.puremagic.com/issues/show_bug.cgi?id=10147

I have aggregated a request of mine to your issue 10147. Are you OK with this? (What I am asking in addition to your request is for informational warnings to be active on default and to be disabled on request.) Bye, bearophile
Jun 29 2013
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 6/30/13, bearophile <bearophileHUGS lycos.com> wrote:
 Andrej Mitrovic:

 I still want to ability for compilation to halt on a warning,

It's a fair desire, but for it probably the problems in Issue 10321 need to be faced first.

I've added a reply to the bugzilla issue, I think I might not even need this behavior anymore, so I withdraw the request.
Jun 29 2013
prev sibling next sibling parent "monarch_dodra" <monarchdodra gmail.com> writes:
On Saturday, 29 June 2013 at 16:07:57 UTC, bearophile wrote:
 I suggest to remove the "-w" switch from the list of dmd/ldc2 
 switches, and later to remove that functionality too. It's 
 better to keep only the informational warnings.

 I keep seeing people in D.learn that miss warnings because they 
 don't active them, so I suggest to activate informational 
 warnings on default.

 And then I suggest to add a switch to disable the warnings, for 
 the rare situations where you don't want them.

 Bye,
 bearophile

Wouldn't it be better to "fix" "-w" in a way that is not: "warnings are errors" but: "compilation halts on first emitted warning" ? This would fix the entire problem of "w" vs "wi", no?
Jun 30 2013
prev sibling next sibling parent "monarch_dodra" <monarchdodra gmail.com> writes:
On Saturday, 29 June 2013 at 23:28:54 UTC, bearophile wrote:
 As for the whole -w/-wi thing, why can't people just
 read the list of switches?

I have seen tens of times that this doesn't happen, in D.learn, in #D on IRC and with friends, students, etc. Silent compilers that keep the muzzle shut on default are not good enough. John Colvin's answer is not so unusual. Bye, bearophile

No Just Colvin's. I usually try to compile with warnings, but forget half of the time, because it is "yet another opt-in parameter". I *really* wish warnings were the default: D is "safe by default, dangerous explicitly": warnings (as errors) should also be the default.
Jun 30 2013
prev sibling next sibling parent "John Colvin" <john.loughran.colvin gmail.com> writes:
On Saturday, 29 June 2013 at 22:26:13 UTC, bearophile wrote:
 John Colvin:

 I've been using D heavily for well over a year now and I've 
 never used -w (facepalm)
 That's good anecdotal evidence that it should be opt-out not 
 opt-in.

 Brb... Recompiling all my code with -w to find out my stupid 
 mistakes :p

If you seem my first point, I am suggesting to remove "-w" from the switches and to use "-wi" (actually I am suggesting "-wi" to become the default compilation mode). Bye, bearophile

Yes, I understand. That's what I mean when I say opt-out not opt-in.
Jun 30 2013
prev sibling next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Sunday, June 30, 2013 02:03:47 bearophile wrote:
 Jonathan M Davis:
 http://d.puremagic.com/issues/show_bug.cgi?id=10147

I have aggregated a request of mine to your issue 10147. Are you OK with this? (What I am asking in addition to your request is for informational warnings to be active on default and to be disabled on request.)

I have no problem with that. The key thing here is that -w needs to be fixed in som manner, because it currently alters the behavior of programs. However, I'm sure that we disagree on the best handling of warnings in that I want them gone _completely_, whereas you seem to want to always add more of them. - Jonathan M Davis
Jun 30 2013
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 6/30/13, Jonathan M Davis <jmdavisProg gmx.com> wrote:
 I want them gone _completely_

You still need them for language features that go through a deprecation stage.
Jun 30 2013
prev sibling next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Jonathan M Davis:

 However, I'm sure that we disagree on the best handling of 
 warnings in that I
 want them gone _completely_, whereas you seem to want to always 
 add more of them.

I'd like a list of all the warnings I have asked for. Recently I have asked for a warning, but in the enhancement request I have also said that later it's supposed to become a deprecation and then an error. I agree with you (and Walter) that most warnings should eventually become errors. So I think we agree more than you believe :-) Bye, bearophile
Jun 30 2013
prev sibling parent "Kagamin" <spam here.lot> writes:
On Saturday, 29 June 2013 at 20:26:15 UTC, Jonathan M Davis wrote:
 http://d.puremagic.com/issues/show_bug.cgi?id=10147

This problem is because the compiler processes warnings too early. If the is expression issues only warnings, it probably should succeed, because those warnings don't escape the is expression (just like errors). Only if they make it to be reported, turn them into errors and stop compilation.
Jul 01 2013