Thanks. I've found a case where it warns of a redundant constraint, but if I remove the constraint I get an error saying the constraint is required
-------------------------------------------- import qualified GHC as GHC import qualified Data.Generics as SYB duplicateDecl :: (SYB.Data t) => -- **** The constraint being warned against ******* [GHC.LHsBind GHC.Name] -- ^ The declaration list ->t -- ^ Any signatures are in here ->GHC.Name -- ^ The identifier whose definition is to be duplicated ->GHC.Name -- ^ The new name (possibly qualified) ->IO [GHC.LHsBind GHC.Name] -- ^ The result duplicateDecl decls sigs n newFunName = do let sspan = undefined newSpan <- case typeSig of [] -> return sspan _ -> do let Just sspanSig = getSrcSpan typeSig toksSig <- getToksForSpan sspanSig let [(GHC.L sspanSig' _)] = typeSig return sspanSig' undefined where typeSig = definingSigsNames [n] sigs -- |Find those type signatures for the specified GHC.Names. definingSigsNames :: (SYB.Data t) => [GHC.Name] -- ^ The specified identifiers. ->t -- ^ A collection of declarations. ->[GHC.LSig GHC.Name] -- ^ The result. definingSigsNames pns ds = def ds where def = undefined getSrcSpan = undefined getToksForSpan = undefined -------------------------------------------- On Fri, Jan 9, 2015 at 1:08 PM, Simon Peyton Jones <simo...@microsoft.com> wrote: > I’ve fixed this > > > > *From:* Alan & Kim Zimmerman [mailto:alan.z...@gmail.com] > *Sent:* 08 January 2015 21:46 > *To:* ghc-devs@haskell.org; Simon Peyton Jones > *Subject:* warn-redundant-constraints present as errors > > > > This is a great feature, here is some feedback > > My syntax highlighter in emacs expects warnings to have the word "warning" > in them. > > So for the two warnings reported below, the first is highlighted as an > error, and the second as a warning > > > Language/Haskell/Refact/Utils/TypeUtils.hs:3036:17: > Redundant constraint: SYB.Data t > In the type signature for: > duplicateDecl :: SYB.Data t => > [GHC.LHsBind GHC.Name] > -> t -> GHC.Name -> GHC.Name -> RefactGhc > [GHC.LHsBind GHC.Name] > > Language/Haskell/Refact/Utils/TypeUtils.hs:3045:7: Warning: > Defined but not used: ‘toks > > This is in a ghci session, and the file loads without problems, so it > is indeed a warning. > > Can we perhaps add the word "Warning" to the output for Redundant > constraints? > > I also had a situation where it asked me to remove a whole lot of > constraints from different functions, I did them in batches, so did not > remove them all from the file at once, and at some point I had to add at > least one of them back, albeit based on an error message. > > > > Regards > > Alan >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs