[ghc-steering-committee] #571: -Wsevere, Shepherd: Adam (rec: accept)
Joachim Breitner
mail at joachim-breitner.de
Mon Oct 9 14:22:03 UTC 2023
Hi,
Am Montag, dem 09.10.2023 um 21:04 +0800 schrieb Moritz Angermann:
> Joachim,
>
> > the main driving motivation is that we really want libraries to
> > stop building if their dependencies have introduced new methods.
>
> So we want this because we introduce extra fields in a dependency and
> thus "silently" break all consumers? Not because
> people write new green-field code and end up ignoring the warning?
That is my understanding, yes. Oleg, who suggested this originally (I
just wrote it up) says (see motivation section of the proposal)
> not having -Wsevere=missing-methods by default essentially prevents
> any (true) breakage assessment of adding new, non-defaulted members
> to existing type-classes.
> Wouldn't this be something that PVP should guard against? Adding new
> fields should result in a new major version, because
> it's technically a breaking change?
Yeah, probably in a world where everyone follows the PVP perfectly, we
wouldn’t have this discussion.
Am Montag, dem 09.10.2023 um 14:38 +0100 schrieb Chris Dornan:
> If I understand you rightly, you are arguing that any legacy packages
> that would flag severe warnings should now fail to compile, even if
> they are marked as being (say) Haskell2010?
I’m not arguing that we should do this, but I am arguing that this is
the question we are supposed to decide here. (I’m personally not
decided
> If the impetus for the proposal was driven by observed problematic
> failures of packaged code that could be caught by these warnings
> then, for me, there would be a discussion to be had.
My understanding, based on the motivation section, is that this _is_
the impetus.
Cheers,
Joachim
--
Joachim Breitner
mail at joachim-breitner.de
http://www.joachim-breitner.de/
More information about the ghc-steering-committee
mailing list