From de18d0734f1781cfcc406e156fbb4a5269a56a4d Mon Sep 17 00:00:00 2001 From: simonpj Date: Wed, 13 May 1998 09:32:34 +0000 Subject: [PATCH] [project @ 1998-05-13 09:32:34 by simonpj] Fix kind error in TcIfaceSig for specialisations --- ghc/compiler/typecheck/TcIfaceSig.lhs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 -- 1.7.10.4