On Friday, August 20, 2010 11:35:48 Nick Sabalausky wrote: > "bearophile" <bearophileh...@lycos.com> wrote in message > news:i4luk9$2rd...@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