diff --git a/ghc/compiler/typecheck/TcGenDeriv.lhs b/ghc/compiler/typecheck/TcGenDeriv.lhs index dde873ef589f95b1c0f3918cb105cb13196aa590..c2e2cf501f8971ea309b167b034ec6dab177c573 100644 --- a/ghc/compiler/typecheck/TcGenDeriv.lhs +++ b/ghc/compiler/typecheck/TcGenDeriv.lhs @@ -286,6 +286,9 @@ cmp_eq _ _ = EQ \end{verbatim} \end{itemize} +If there is only one constructor in the Data Type we don't need the WildCard Patern. +JJQC-30-Nov-1997 + \begin{code} gen_Ord_binds :: TyCon -> RdrNameMonoBinds @@ -320,7 +323,10 @@ gen_Ord_binds tycon cmp_eq = mk_FunMonoBind tycon_loc cmp_eq_RDR (map pats_etc nonnullary_cons ++ - [([WildPatIn, WildPatIn], default_rhs)]) + if ((length nonnullary_cons + length nullary_cons) == 1) + then [] + else [([WildPatIn, WildPatIn], + default_rhs)]) where pats_etc data_con = ([con1_pat, con2_pat],