#6093: Kind polymorphism fails with recursive type definition using different 
kind
---------------------------------------+------------------------------------
 Reporter:  Ashley Yakeley             |          Owner:                        
 
     Type:  bug                        |         Status:  new                   
 
 Priority:  normal                     |      Component:  Compiler (Type 
checker)
  Version:  7.4.1                      |       Keywords:                        
 
       Os:  Unknown/Multiple           |   Architecture:  Unknown/Multiple      
 
  Failure:  GHC rejects valid program  |       Testcase:                        
 
Blockedby:                             |       Blocking:                        
 
  Related:                             |  
---------------------------------------+------------------------------------
 {{{
 {-# LANGUAGE GADTs, PolyKinds #-}
 module Bug where
     data R t where
         MkR :: R f -> R (f ())
 }}}
 results in
 {{{
 Bug.hs:4:26:
     Kind mis-match
     The first argument of `R' should have kind `* -> k0',
     but `f ()' has kind `k0'
     In the type `R (f ())'
     In the definition of data constructor `MkR'
     In the data type declaration for `R'
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/6093>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to