X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fiface%2FBuildTyCl.lhs;h=e71eefe33925a35c1b148f8dbc7bb04b3fe71f1f;hb=edc0bafd3fcd01b85a2e8894e5dfe149eb0e0857;hp=4319d1fc187a0e76d23432397725f40f7edfd20c;hpb=13adf25f23091c8ef1a14cfb11ed9379ffbaed90;p=ghc-hetmet.git diff --git a/compiler/iface/BuildTyCl.lhs b/compiler/iface/BuildTyCl.lhs index 4319d1f..e71eefe 100644 --- a/compiler/iface/BuildTyCl.lhs +++ b/compiler/iface/BuildTyCl.lhs @@ -112,10 +112,14 @@ mkDataTyConRhs :: [DataCon] -> AlgTyConRhs mkDataTyConRhs cons = DataTyCon { data_cons = cons, - is_enum = not (null cons) && - all isNullarySrcDataCon cons + is_enum = not (null cons) && all is_enum_con cons -- See Note [Enumeration types] in TyCon } + where + is_enum_con con + | (_tvs, theta, arg_tys, _res) <- dataConSig con + = null theta && null arg_tys + mkNewTyConRhs :: Name -> TyCon -> DataCon -> TcRnIf m n AlgTyConRhs -- ^ Monadic because it makes a Name for the coercion TyCon