Unused variables, better as error or warning?

Andrej Mitrovic andrej.mitrovich at gmail.com
Fri Aug 20 12:01:54 PDT 2010


Yes there are, you enable them with -wi, which are informational
warnings. Some errors are listed here, but I'm not sure which of these
can be used with -wi:

http://www.digitalmars.com/d/2.0/warnings.html



On Fri, Aug 20, 2010 at 8:53 PM, Jonathan M Davis <jmdavisprog at gmail.com> wrote:
> On Friday, August 20, 2010 11:35:48 Nick Sabalausky wrote:
>> "bearophile" <bearophileHUGS at lycos.com> wrote in message
>> news:i4luk9$2rdg$1 at digitalmars.com...
>>
>> >A small Reddit thread regarding if unused variables and imports are better
>> >
>> >as errors or warnings:
>> > http://www.reddit.com/r/programming/comments/d3emo
>> >
>> > In my opinion in this case errors are too much, warning are enough.
>> >
>> > Few situations for those warnings:
>> > - warning for unused variables (as GC, C# and other compilers do);
>> > - warning when a variable get used in some ways, and then its last
>> > assignment gets unused (done by a kind of C compiler);
>> > - unused imports (useful to keep code clean and remove unnecessary module
>> > dependences);
>> > - unused functions (but this is harder to do in a clean way in a language
>> > that has templates, so this may be omitted).
>> >
>> > Among those four warnings the most useful are the first two ones. In C
>> > once the unused variable warning of GCC has found at compile time a bug
>> > in my code (I did forget to increment that variable in the loop). So I
>> > have loved this warning ever since.
>>
>> An error would be an enormous pain in the ass. A warning might be helpful
>> in some cases.
>
> Except that thanks to how warnings are deal with in dmd, there's not much
> difference between an error and a warning; it's just a question of how picky you
> want to be about errors. As it is, I'd argue that there is no such thing as a
> real warning in D. You never see warnings unless you use -w, at which point
> they're treated as errors. And if you're being at all careful, you're going to
> be compiling with -w, so it doesn't make much difference. You can choose to
> compile without -w until you think what you have works and then use -w to find
> stuff you missed, but then you could easily be being shot in the foot by
> something that's considered a warning. If you had seen it, you could have dealt
> with it. What dmd needs is for warnings to be visible in normal compilation,
> making -w only make warnings errors as opposed to being the way to make them
> appear as well. As it is, warnings pretty much might as well be errors.
>
> - Jonathan M Davis
>


More information about the Digitalmars-d mailing list