Fix kind error in TcIfaceSig for specialisations
= tcStrictness unf_env ty info strict
tcPrag info (HsSpecialise tyvars tys rhs)
= 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
tcPragExpr unf_env name rhs `thenNF_Tc` \ maybe_rhs' ->
let
-- If spec_env isn't looked at, none of this