#7272: PolyKinds and mutually recursive modules
------------------------------+---------------------------------------------
Reporter: dreixel | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 7.6.1 | Keywords:
Os: Unknown/Multiple | Architecture: Unknown/Multiple
Failure: None/Unknown | Testcase:
Blockedby: | Blocking:
Related: |
------------------------------+---------------------------------------------
A.hs
{{{
{-# LANGUAGE PolyKinds #-}
module A where
import Test
class C (a :: k)
}}}
A.hs-boot
{{{
{-# LANGUAGE PolyKinds #-}
module A where
class C (a :: k)
}}}
B.hs
{{{
{-# LANGUAGE PolyKinds #-}
module Test where
import {-# SOURCE #-} A
}}}
Leads to:
{{{
A.hs-boot:5:7:
Class `C' has conflicting definitions in the module and its hs-boot
file
Main module: class C (k::BOX) (a::k) RecFlag Recursive
Boot file: class C (k::BOX) (a::k) RecFlag NonRecursive
}}}
The problem is not the `RecFlag`, it's the `k` kind variable that is
getting different uniques.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7272>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs