X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcExpr.lhs;h=32223a5896cd7f3cb7b7986df71ac52225ec01b5;hp=b844a2a0d371526bdb87217da6b64194540c5b7f;hb=48565ca88a6b8a9f8b22add0c50d221a2a4a07e9;hpb=8d573292181707f0ba70865d125ad51b461dc8a3 diff --git a/compiler/typecheck/TcExpr.lhs b/compiler/typecheck/TcExpr.lhs index b844a2a..32223a5 100644 --- a/compiler/typecheck/TcExpr.lhs +++ b/compiler/typecheck/TcExpr.lhs @@ -314,7 +314,9 @@ tcExpr in_expr@(ExplicitPArr _ exprs) res_ty -- maybe empty -- The scrutinee should have a rigid type if x,y do -- The general scheme is the same as in tcIdApp tcExpr (ExplicitTuple exprs boxity) res_ty - = do { tvs <- newBoxyTyVars [argTypeKind | e <- exprs] + = do { let kind = case boxity of { Boxed -> liftedTypeKind + ; Unboxed -> argTypeKind } + ; tvs <- newBoxyTyVars [kind | e <- exprs] ; let tup_tc = tupleTyCon boxity (length exprs) tup_res_ty = mkTyConApp tup_tc (mkTyVarTys tvs) ; checkWiredInTyCon tup_tc -- Ensure instances are available