[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