From affb35783b63469c6205c36651ee752ce936bb6d Mon Sep 17 00:00:00 2001 From: simonpj Date: Thu, 5 Oct 2000 16:45:07 +0000 Subject: [PATCH] [project @ 2000-10-05 16:45:07 by simonpj] wibble --- ghc/compiler/typecheck/TcMonoType.lhs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ghc/compiler/typecheck/TcMonoType.lhs b/ghc/compiler/typecheck/TcMonoType.lhs index 13aabab..4b6a6d4 100644 --- a/ghc/compiler/typecheck/TcMonoType.lhs +++ b/ghc/compiler/typecheck/TcMonoType.lhs @@ -335,9 +335,16 @@ tcHsType (HsListTy ty) = tcHsArgType ty `thenTc` \ tau_ty -> returnTc (mkListTy tau_ty) -tcHsType (HsTupleTy (HsTupCon _ boxity) tys) +tcHsType (HsTupleTy (HsTupCon _ Boxed) tys) = mapTc tcHsArgType tys `thenTc` \ tau_tys -> - returnTc (mkTupleTy boxity (length tys) tau_tys) + returnTc (mkTupleTy Boxed (length tys) tau_tys) + +tcHsType (HsTupleTy (HsTupCon _ Unboxed) tys) + = -- Unboxed tuples can have polymorphic args. + -- This happens in the workers for functions returning + -- product types with polymorphic components + mapTc tcHsType tys `thenTc` \ tau_tys -> + returnTc (mkTupleTy Unboxed (length tys) tau_tys) tcHsType (HsFunTy ty1 ty2) = tcHsType ty1 `thenTc` \ tau_ty1 -> -- 1.7.10.4