From de18d0734f1781cfcc406e156fbb4a5269a56a4d Mon Sep 17 00:00:00 2001
From: simonpj <unknown>
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 1646bfb3a0a4..000386fc1eb4 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 
-- 
GitLab