
#11451: Inconsistent warnings for unused binders -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): I see what you mean. After all, you could imagine that it is "really" {{{ instance forall a. C (Maybe a) where ... }}} BUT for `type instance` declarations we do allow {{{ type instance F (Maybe _) = Int }}} even though it's "really" {{{ type instance forall a. F (Maybe a) = Int }}} And here it really is persuasive to use `_`, in just the same way that we do in patterns in term-level function definitions. Why should the type patterns in a class instance declaration be treated differently than those in a type-family instance declaration? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11451#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler