From cc3cf678f28c34364cad993b15615acc0686b0d5 Mon Sep 17 00:00:00 2001 From: simonm <unknown> Date: Fri, 22 Jan 1999 10:25:44 +0000 Subject: [PATCH] [project @ 1999-01-22 10:25:44 by simonm] Fix a use of [ e1..e2 ] in the light of the new Haskell 98 semantics. --- ghc/compiler/typecheck/TcExpr.lhs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ghc/compiler/typecheck/TcExpr.lhs b/ghc/compiler/typecheck/TcExpr.lhs index aae7a2489605..6c32a246d303 100644 --- a/ghc/compiler/typecheck/TcExpr.lhs +++ b/ghc/compiler/typecheck/TcExpr.lhs @@ -347,8 +347,12 @@ tcMonoExpr (CCall lbl args may_gc is_asm ignored_fake_result_ty) res_ty in -- Arguments - mapNF_Tc (\ _ -> newTyVarTy_OpenKind) [1..(length args)] `thenNF_Tc` \ arg_tys -> - tcMonoExprs args arg_tys `thenTc` \ (args', args_lie) -> + let n_args = length args + tv_idxs | n_args == 0 = [] + | otherwise = [1..n_args] + in + mapNF_Tc (\ _ -> newTyVarTy_OpenKind) tv_idxs `thenNF_Tc` \ arg_tys -> + tcMonoExprs args arg_tys `thenTc` \ (args', args_lie) -> -- The argument types can be unboxed or boxed; the result -- type must, however, be boxed since it's an argument to the IO -- GitLab