[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