projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Omit unnecessary parens when pretty-printing IfaceExpr
[ghc-hetmet.git]
/
compiler
/
iface
/
BuildTyCl.lhs
diff --git
a/compiler/iface/BuildTyCl.lhs
b/compiler/iface/BuildTyCl.lhs
index
9213afd
..
54adfdf
100644
(file)
--- a/
compiler/iface/BuildTyCl.lhs
+++ b/
compiler/iface/BuildTyCl.lhs
@@
-20,7
+20,6
@@
import Var
import VarSet
import BasicTypes
import Name
import VarSet
import BasicTypes
import Name
-import OccName
import MkId
import Class
import TyCon
import MkId
import Class
import TyCon
@@
-30,8
+29,6
@@
import Coercion
import TcRnMonad
import Util ( count )
import Outputable
import TcRnMonad
import Util ( count )
import Outputable
-
-import Data.List
\end{code}
\end{code}
@@
-121,7
+118,13
@@
mkOpenDataTyConRhs = OpenTyCon Nothing
mkDataTyConRhs :: [DataCon] -> AlgTyConRhs
mkDataTyConRhs cons
mkDataTyConRhs :: [DataCon] -> AlgTyConRhs
mkDataTyConRhs cons
- = DataTyCon { data_cons = cons, is_enum = all isNullarySrcDataCon cons }
+ = DataTyCon {
+ data_cons = cons,
+ is_enum = -- We define datatypes with no constructors to not be
+ -- enumerations; this fixes trac #2578
+ not (null cons) &&
+ all isNullarySrcDataCon cons
+ }
mkNewTyConRhs :: Name -> TyCon -> DataCon -> TcRnIf m n AlgTyConRhs
-- Monadic because it makes a Name for the coercion TyCon
mkNewTyConRhs :: Name -> TyCon -> DataCon -> TcRnIf m n AlgTyConRhs
-- Monadic because it makes a Name for the coercion TyCon