#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
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to