Open soenkehahn opened 10 years ago
@alpmestan: I know you have a different habit. Are you ok with this?
Yeah. While I think -Werror is nice to have right before releasing, I'm not fond of having it during development. It mostly just made a bunch of travis builds fail (because of warnings, not because of actual problems). So I'm not sold on -Werror
before we get close to a release, but aside from that I don't mind the occasional fno-warn-blah
, I won't nitpick on whatever warnings you guys usually like to have.
FWIW, from the perspective of a distro package maintainer I hate -Werror
being in the build scripts end users are meant to use. This is less of a concern given the GHC monoculture for haskell, but even then, the assumption that your version of the toolchain will have the exact same set of warnings as all of your users' (and no one actually tests more than their own toolchain...) just causes pain to no good end I've ever seen.
So, IMO devs should locally verify -Werror
passes before publishing a new version, but should not put that into the cabal file.
Fair point indeed. Releasing it with -Werror
isn't a good idea.
The main point I wanted to emphasize was that I don't like it when I see a bunch of warnings while I build stuffs, so I'd like for servant to be warning-free when people build it (even if we're actually silencing some (non-important) warnings by hand).
As a data point, cabal check
complains (and exits non-zero) with -Werror.
Maybe just Travis on master should compile with Werror?
Well... Right now, the master
branch is quite "useless". If you meant new-impl
, then this may get in our way more than it would help us, since we don't really care about most warnings when we are toying around to see how our ideas play out, or when we're just beginning to shape up some new combinator etc.
I guess we can just make sure that servant
builds with -Werror
locally before any release, like Shea suggests.
+1 for using the same settings on travis and in the cabal file. And +1 for omitting -Werror
.
And establish consistent warning settings for the library and the test-suite.