[commit: ghc] master: Accept derived Read on an empty data type (Trac #7931) (cf7e2fa)
Simon Peyton Jones
simonpj at microsoft.com
Tue May 28 10:25:19 CEST 2013
Repository : http://darcs.haskell.org/ghc.git/
On branch : master
https://github.com/ghc/ghc/commit/cf7e2fa4c37c078f5bb2bad29cdd78b64c6792b8
>---------------------------------------------------------------
commit cf7e2fa4c37c078f5bb2bad29cdd78b64c6792b8
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Mon May 27 15:36:08 2013 +0100
Accept derived Read on an empty data type (Trac #7931)
>---------------------------------------------------------------
compiler/typecheck/TcGenDeriv.lhs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/compiler/typecheck/TcGenDeriv.lhs b/compiler/typecheck/TcGenDeriv.lhs
index 5726031..b8c7c8c 100644
--- a/compiler/typecheck/TcGenDeriv.lhs
+++ b/compiler/typecheck/TcGenDeriv.lhs
@@ -902,7 +902,8 @@ gen_Read_binds get_fixity loc tycon
read_prec = mkHsVarBind loc readPrec_RDR
(nlHsApp (nlHsVar parens_RDR) read_cons)
- read_cons = foldr1 mk_alt (read_nullary_cons ++ read_non_nullary_cons)
+ read_cons | null data_cons = error_Expr "Derived Read on empty data type" -- Trac #7931
+ | otherwise = foldr1 mk_alt (read_nullary_cons ++ read_non_nullary_cons)
read_non_nullary_cons = map read_non_nullary_con non_nullary_cons
read_nullary_cons
More information about the ghc-commits
mailing list