GHC devs,

 

I wasn’t aware that we’d changed these.  Anyone know why?

 

Simon

 

From: Haskell-Cafe [mailto:haskell-cafe-bounces@haskell.org] On Behalf Of Omari Norman
Sent: 05 May 2015 15:55
To: haskell Cafe
Subject: [Haskell-cafe] Significant changes in -Wall for GHC 7.10

 

I noticed some significant changes to the flags included with -Wall in GHC 7.10.  Many flags that were previously included in -Wall are now not included.  These include:

-fwarn-type-defaults

-fwarn-name-shadowing

-fwarn-missing-signatures

-fwarn-hi-shadowing

-fwarn-orphans

-fwarn-unused-do-bind

-fwarn-trustworthy-safe

I can't find any mention in the release notes of this change in behavior.

I was wondering what the rationale is for these changes?  Any link to relevant discussion would be appreciated if it exists.

Also, what opinion do people have?  I previously kept my code -Wall clean, but sometimes that would be a pain.  For instance I would munge local names so they wouldn't trigger -fwarn-name-shadowing, and I would add signatures to integers so they wouldn't trigger -fwarn-type-defaults.  In fact, I only noticed this change in behavior in 7.10 because I was considering dumping -Wall, and when I looked at the 7.10 manual I saw that it does not enable -fwarn-name-shadowing.  (I still use 7.8 but Google pulled the 7.10 manual.)  Does this change indicate that people were finding -Wall too onerous and, thus, not using it?

I do remember reading complaints about -fwarn-unused-do-bind being added to -Wall, but I previously felt dirty about name shadowing though I wondered if munging names to avoid shadowing was actually worse.