[project @ 1998-05-13 09:32:34 by simonpj]
authorsimonpj <unknown>
Wed, 13 May 1998 09:32:34 +0000 (09:32 +0000)
committersimonpj <unknown>
Wed, 13 May 1998 09:32:34 +0000 (09:32 +0000)
Fix kind error in TcIfaceSig for specialisations

ghc/compiler/typecheck/TcIfaceSig.lhs

index 1646bfb..000386f 100644 (file)
@@ -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