diff --git a/ghc/compiler/typecheck/TcExpr.lhs b/ghc/compiler/typecheck/TcExpr.lhs index 88832b15a56eefb40651aa1e1ef7a34722870695..b563125886b9953aeb2525d289b890cc6d2e06f5 100644 --- a/ghc/compiler/typecheck/TcExpr.lhs +++ b/ghc/compiler/typecheck/TcExpr.lhs @@ -335,8 +335,8 @@ tcExpr in_expr@(ExplicitList exprs) res_ty -- Non-empty list tcExpr (ExplicitTuple exprs) res_ty -- ToDo: more direct way of testing if res_ty is a tuple type (cf. unifyListTy)? - = mapNF_Tc (\ _ -> newTyVarTy mkBoxedTypeKind) [1..len] `thenNF_Tc` \ ty_vars -> - unifyTauTy (mkTupleTy len ty_vars) res_ty `thenTc_` + = mapNF_Tc (\ _ -> newTyVarTy mkBoxedTypeKind) [1..len] `thenNF_Tc` \ ty_vars -> + unifyTauTy (mkTupleTy len ty_vars) res_ty `thenTc_` mapAndUnzipTc (\ (expr,ty_var) -> tcExpr expr ty_var) (exprs `zip` ty_vars) -- we know they're of equal length. `thenTc` \ (exprs', lies) ->