[project @ 1999-02-05 12:35:42 by sof]
authorsof <unknown>
Fri, 5 Feb 1999 12:35:43 +0000 (12:35 +0000)
committersof <unknown>
Fri, 5 Feb 1999 12:35:43 +0000 (12:35 +0000)
deriving Enum bugfixes

ghc/compiler/prelude/PrelInfo.lhs
ghc/compiler/typecheck/TcGenDeriv.lhs

index c1e3a9d..f176eed 100644 (file)
@@ -611,7 +611,7 @@ deriving_occ_info
     , (ordClassKey,    [intTyCon_RDR, compose_RDR, eqTag_RDR])
                                -- EQ (from Ordering) is needed to force in the constructors
                                -- as well as the type constructor.
-    , (enumClassKey,   [intTyCon_RDR, and_RDR, map_RDR, plus_RDR, showsPrec_RDR, append_RDR]) 
+    , (enumClassKey,   [intTyCon_RDR, eq_RDR, ge_RDR, and_RDR, map_RDR, plus_RDR, showsPrec_RDR, append_RDR]) 
                                -- The last two Enum deps are only used to produce better
                                -- error msgs for derived toEnum methods.
     , (boundedClassKey,        [intTyCon_RDR])
index 16d312f..d6ec7f4 100644 (file)
@@ -512,8 +512,8 @@ gen_Enum_binds tycon
                    (mk_easy_App mkInt_RDR [ah_RDR])
                    (mk_easy_App mkInt_RDR [bh_RDR])
                    (HsIf  (HsApp (HsApp (HsVar gt_RDR)
-                                        (HsVar a_RDR))
-                                        (HsVar b_RDR))
+                                        (mk_easy_App mkInt_RDR [ah_RDR]))
+                                        (mk_easy_App mkInt_RDR [bh_RDR]))
                           (HsLit (HsInt 0))
                           (HsVar (maxtag_RDR tycon))
                           tycon_loc))