X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=compiler%2Fiface%2FBuildTyCl.lhs;fp=compiler%2Fiface%2FBuildTyCl.lhs;h=e71eefe33925a35c1b148f8dbc7bb04b3fe71f1f;hb=bee517d218a9546db88ee3ad4e15fb2010562e4a;hp=4319d1fc187a0e76d23432397725f40f7edfd20c;hpb=35a77384d096e9cec8488f09ddaee533ad61051a;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