From: simonmar Date: Wed, 10 Apr 2002 13:09:39 +0000 (+0000) Subject: [project @ 2002-04-10 13:09:39 by simonmar] X-Git-Tag: Approx_11550_changesets_converted~2163 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=07c456df1f21bb2291a18ada0e2d749f1ea52c17;p=ghc-hetmet.git [project @ 2002-04-10 13:09:39 by simonmar] (from Simon P.J) Make generics work with zero-constructor datatypes. --- diff --git a/ghc/compiler/types/Generics.lhs b/ghc/compiler/types/Generics.lhs index d961aa8..744b667 100644 --- a/ghc/compiler/types/Generics.lhs +++ b/ghc/compiler/types/Generics.lhs @@ -254,8 +254,12 @@ mkTyConGenInfo tycon [from_name, to_name] | dc <- datacons ] = Nothing + | null datacons -- There are no constructors; + = Nothing -- there are no values of this type + | otherwise - = Just (EP { fromEP = mkVanillaGlobal from_name from_ty from_id_info, + = ASSERT( not (null datacons) ) -- mk_sum_stuff loops if no datacons + Just (EP { fromEP = mkVanillaGlobal from_name from_ty from_id_info, toEP = mkVanillaGlobal to_name to_ty to_id_info }) where maybe_datacons = tyConDataCons_maybe tycon