[project @ 1999-07-28 08:34:45 by simonmar]
authorsimonmar <unknown>
Wed, 28 Jul 1999 08:34:45 +0000 (08:34 +0000)
committersimonmar <unknown>
Wed, 28 Jul 1999 08:34:45 +0000 (08:34 +0000)
Allow unboxed tuple components to have polymorphic types.

ghc/compiler/rename/RnSource.lhs

index a1e1678..780c91f 100644 (file)
@@ -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)