diff --git a/ghc/compiler/prelude/PrelInfo.lhs b/ghc/compiler/prelude/PrelInfo.lhs index c1e3a9dacc5c8011f2d9f01339696853edff29e9..f176eed187e284c1f2bf63830c38e8b3c5e3beb1 100644 --- a/ghc/compiler/prelude/PrelInfo.lhs +++ b/ghc/compiler/prelude/PrelInfo.lhs @@ -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]) diff --git a/ghc/compiler/typecheck/TcGenDeriv.lhs b/ghc/compiler/typecheck/TcGenDeriv.lhs index 16d312f44918f0fb511aaffe2259c2d543649f4d..d6ec7f47c753be8c7045abdf2461cfb332783eb8 100644 --- a/ghc/compiler/typecheck/TcGenDeriv.lhs +++ b/ghc/compiler/typecheck/TcGenDeriv.lhs @@ -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))