#7368: kindFunResult panic in the
----------------------------------------+-----------------------------------
    Reporter:  ChrisN                   |       Owner:                    
        Type:  bug                      |      Status:  new               
    Priority:  normal                   |   Milestone:                    
   Component:  Compiler (Type checker)  |     Version:  7.7               
    Keywords:  Kinds, kindfunresult     |          Os:  Unknown/Multiple  
Architecture:  Unknown/Multiple         |     Failure:  Compile-time crash
  Difficulty:  Unknown                  |    Testcase:                    
   Blockedby:                           |    Blocking:                    
     Related:                           |  
----------------------------------------+-----------------------------------
Changes (by simonpj):

  * difficulty:  => Unknown


Old description:

> This code:
> -------------------------------------
> f  = b  (l  () )
>
> l :: b a -> c b
> l = undefined
>
> b :: (a -> b) -> c
> b = undefined
>
> -------------------------------------
>
> Produces the following panic:
> /tmp/Test.hs:4:10:
>     Couldn't match kind `* -> *' with `*'
>     Expected type: a0 -> b0
>       Actual type: a0 -> b0
>     Kind incompatibility when matching types:
>       b_k :: * -> *
>       b0 :: *
>     In the return type of a call of `l'
>     In the first argument of `b', namely `(l ())'
>
> /tmp/Test.hs:4:13:ghc: panic! (the 'impossible' happened)
>   (GHC version 7.7.20120909 for x86_64-unknown-linux):
>         kindFunResult ghc-prim:GHC.Prim.*{(w) tc 34d}
>

> I don't think this is the same as #6039 since that test code produces a
> parse error when I try to compile it (and it is listed as fixed).

New description:

 This code:
 {{{
 f  = b  (l  () )

 l :: b a -> c b
 l = undefined

 b :: (a -> b) -> c
 b = undefined
 }}}

 Produces the following panic:
 {{{
 /tmp/Test.hs:4:10:
     Couldn't match kind `* -> *' with `*'
     Expected type: a0 -> b0
       Actual type: a0 -> b0
     Kind incompatibility when matching types:
       b_k :: * -> *
       b0 :: *
     In the return type of a call of `l'
     In the first argument of `b', namely `(l ())'

 /tmp/Test.hs:4:13:ghc: panic! (the 'impossible' happened)
   (GHC version 7.7.20120909 for x86_64-unknown-linux):
         kindFunResult ghc-prim:GHC.Prim.*{(w) tc 34d}
 }}}

 I don't think this is the same as #6039 since that test code produces a
 parse error when I try to compile it (and it is listed as fixed).

--

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7368#comment:2>
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