From: simonmar Date: Wed, 28 Jul 1999 08:34:45 +0000 (+0000) Subject: [project @ 1999-07-28 08:34:45 by simonmar] X-Git-Tag: Approximately_9120_patches~5940 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=8ebebb4500e688f57970a661c8afe888eb52162d [project @ 1999-07-28 08:34:45 by simonmar] Allow unboxed tuple components to have polymorphic types. --- diff --git a/ghc/compiler/rename/RnSource.lhs b/ghc/compiler/rename/RnSource.lhs index a1e1678..780c91f 100644 --- a/ghc/compiler/rename/RnSource.lhs +++ b/ghc/compiler/rename/RnSource.lhs @@ -629,9 +629,13 @@ rnHsType doc (MonoListTy ty) = rnHsType doc ty `thenRn` \ (ty', fvs) -> returnRn (MonoListTy ty', fvs `addOneFV` listTyCon_name) +-- Unboxed tuples are allowed to have poly-typed arguments. These +-- sometimes crop up as a result of CPR worker-wrappering dictionaries. rnHsType doc (MonoTupleTy tys boxed) - = rnHsTypes doc tys `thenRn` \ (tys', fvs) -> - returnRn (MonoTupleTy tys' boxed, fvs `addOneFV` tup_con_name) + = (if boxed + then mapFvRn (rnHsType doc) tys + else mapFvRn (rnHsPolyType doc) tys) `thenRn` \ (tys', fvs) -> + returnRn (MonoTupleTy tys' boxed, fvs `addOneFV` tup_con_name) where tup_con_name = tupleTyCon_name boxed (length tys)