
Lemming, Perhaps it would help have introduce a mechanism for telling
#10635: -fwarn-redundant-constraints should not be part of -Wall -------------------------------------+------------------------------------- Reporter: Lemming | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 7.11 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect | Unknown/Multiple warning at compile-time | Test Case: Blocked By: | Blocking: Related Tickets: #9939, #9973, | Differential Rev(s): #10100, #10183 | Wiki Page: | -------------------------------------+------------------------------------- Comment (by Lemming): Replying to [comment:4 bgamari]: the compiler "I intentionally do not use this constraint" on either a per- context or per-class basis? On the one hand, I would say, Yes, because we have ways to flag intentionally unused imports and unused identifiers and that works nicely. On the other hand, I wonder whether we can treat constraints and imports and identifiers the same way. What does it mean at all to have a redundant constraint? E.g. {{{ asTypeOf :: a -> a -> a asTypeOf x _ = x }}} has not the most general type. Is this a redundant constraint? I can write it more explicitly: {{{ asTypeOf1 :: (a ~ b) => a -> b -> a asTypeOf1 x _ = x }}} GHC-8.0 does not warn about any of these two. Should it? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10635#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler