[GHC] #8196: Core Lint error in Specialise with PolyKinds and derived instance

GHC ghc-devs at haskell.org
Fri Aug 30 18:46:07 UTC 2013


#8196: Core Lint error in Specialise with PolyKinds and derived instance
-------------------------------------------------+-------------------------
        Reporter:  adamgundry                    |            Owner:
            Type:  bug                           |  simonpj
        Priority:  normal                        |           Status:  new
       Component:  Compiler                      |        Milestone:
      Resolution:                                |          Version:  7.7
Operating System:  Unknown/Multiple              |         Keywords:
 Type of failure:  Incorrect warning at          |     Architecture:
  compile-time                                   |  Unknown/Multiple
       Test Case:                                |       Difficulty:
        Blocking:                                |  Unknown
                                                 |       Blocked By:
                                                 |  Related Tickets:
-------------------------------------------------+-------------------------

Comment (by adamgundry):

 I realised that this may be nothing to do with '''deriving''', as a hand-
 written instance causes the same problem:

 {{{
 instance forall (a :: k -> *)(b :: k) . Show (a b) => Show (T a b) where
   show (MkT x) = show x
 }}}

 On the other hand, everything works if one removes the kind polymorphism:

 {{{
 instance forall (a :: * -> *)(b :: *) . Show (a b) => Show (T a b) where
   show (MkT x) = show x
 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8196#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler




More information about the ghc-tickets mailing list