From: simonpj Date: Wed, 13 May 1998 09:32:34 +0000 (+0000) Subject: [project @ 1998-05-13 09:32:34 by simonpj] X-Git-Tag: Approx_2487_patches~699 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=de18d0734f1781cfcc406e156fbb4a5269a56a4d;p=ghc-hetmet.git [project @ 1998-05-13 09:32:34 by simonpj] Fix kind error in TcIfaceSig for specialisations --- diff --git a/ghc/compiler/typecheck/TcIfaceSig.lhs b/ghc/compiler/typecheck/TcIfaceSig.lhs index 1646bfb..000386f 100644 --- a/ghc/compiler/typecheck/TcIfaceSig.lhs +++ b/ghc/compiler/typecheck/TcIfaceSig.lhs @@ -101,8 +101,12 @@ tcIdInfo unf_env name ty info info_ins = tcStrictness unf_env ty info strict tcPrag info (HsSpecialise tyvars tys rhs) - = tcTyVarScope tyvars $ \ tyvars' -> - mapTc tcHsType tys `thenTc` \ tys' -> + = tcTyVarScope tyvars $ \ tyvars' -> + mapAndUnzipTc tcHsTypeKind tys `thenTc` \ (kinds, tys') -> + -- Assume that the kinds match the kinds of the + -- type variables of the function; this is, after all, an + -- interface file generated by the compiler! + tcPragExpr unf_env name rhs `thenNF_Tc` \ maybe_rhs' -> let -- If spec_env isn't looked at, none of this