[commit: ghc] master: Be careful to instantiate kind variables when dealing with functional dependencies (969f8b7)

Simon Peyton Jones simonpj at microsoft.com
Wed May 16 12:14:43 CEST 2012


Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/969f8b728be0a2fec8263e8866295776c993394b

>---------------------------------------------------------------

commit 969f8b728be0a2fec8263e8866295776c993394b
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Wed May 16 11:13:52 2012 +0100

    Be careful to instantiate kind variables when dealing with functional dependencies
    
    There were really two bugs
      a) When the fundep fires we must apply the matching
         substitution to the kinds of the remaining type vars
         (This happens in FunDeps.checkClsFD, when we create meta_tvs)
    
      b) When instantiating the un-matched type variables we must
         instantiate their kinds properly
         (This happens in TcSMonad.instFlexiTcS)
    
    This fixes #6068 and #6015 (second reported bug).

 compiler/typecheck/TcInteract.lhs |    6 +--
 compiler/typecheck/TcSMonad.lhs   |    8 +++-
 compiler/types/FunDeps.lhs        |   87 ++++++++++++++++++++++---------------
 3 files changed, 60 insertions(+), 41 deletions(-)


Diff suppressed because of size. To see it, use:

    git show 969f8b728be0a2fec8263e8866295776c993394b



More information about the Cvs-ghc mailing list