From 07c456df1f21bb2291a18ada0e2d749f1ea52c17 Mon Sep 17 00:00:00 2001 From: simonmar Date: Wed, 10 Apr 2002 13:09:39 +0000 Subject: [PATCH] [project @ 2002-04-10 13:09:39 by simonmar] (from Simon P.J) Make generics work with zero-constructor datatypes. --- ghc/compiler/types/Generics.lhs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 -- 1.7.10.4