[GHC] #7341: Kind inference does not propagate annotations on associated types
GHC
cvs-ghc at haskell.org
Wed Oct 17 19:43:28 CEST 2012
#7341: Kind inference does not propagate annotations on associated types
------------------------------+---------------------------------------------
Reporter: goldfire | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 7.7 | Keywords: PolyKinds
Os: Unknown/Multiple | Architecture: Unknown/Multiple
Failure: None/Unknown | Testcase:
Blockedby: | Blocking:
Related: |
------------------------------+---------------------------------------------
Consider the following:
{{{
{-# LANGUAGE KindSignatures, TypeFamilies, PolyKinds #-}
data Proxy a = Proxy
class C a where
type F (a :: *) :: *
op :: Proxy a -> Int
instance C [] where
op _ = 5
}}}
When compiled, this code generates a warning saying that {{{F []}}} is
undefined. That's a good warning, but the problem is that the code is
erroneous and should not compile. The problem is that the kind annotation
on {{{a}}} in the declaration of the family {{{F}}} says that {{{a}}}
should have kind {{{*}}}. However, I am permitted to write an instance for
{{{[]}}}, which does not have kind {{{*}}}.
After playing around with this, I was unable to find a way to cause a type
safety error, but the behavior should probably be fixed.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7341>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list