[GHC] #11451: Inconsistent warnings for unused binders

GHC ghc-devs at haskell.org
Mon Jan 18 13:13:47 UTC 2016


#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


More information about the ghc-tickets mailing list