Improve handling of newtypes (fixes Trac 1495)
[ghc-hetmet.git] / compiler / coreSyn / MkExternalCore.lhs
index a0bccda..e5f81d0 100644 (file)
@@ -69,13 +69,11 @@ collect_tdefs tcon tdefs
   where
     tdef | isNewTyCon tcon = 
                 C.Newtype (make_con_qid (tyConName tcon)) (map make_tbind tyvars) repclause 
--- 20060420 GHC handles empty data types just fine. ExtCore should too! jds
---         | null (tyConDataCons tcon) = error "MkExternalCore died: can't handle datatype declarations with no data constructors"
          | otherwise = 
                 C.Data (make_con_qid (tyConName tcon)) (map make_tbind tyvars) (map make_cdef (tyConDataCons tcon)) 
          where repclause | isRecursiveTyCon tcon || isOpenTyCon tcon= Nothing
-                        | otherwise = Just (make_ty rep)
-                                           where (_, rep) = newTyConRep tcon
+                        | otherwise = Just (make_ty (repType rhs))
+                                           where (_, rhs) = newTyConRhs tcon
     tyvars = tyConTyVars tcon
 
 collect_tdefs _ tdefs = tdefs