From 369d62baac8b930320ec1b604fb6625b14d0402d Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Wed, 25 Aug 2010 11:27:11 +0000 Subject: [PATCH] Wibble to allow phantom types in Enum --- compiler/typecheck/TcGenDeriv.lhs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/typecheck/TcGenDeriv.lhs b/compiler/typecheck/TcGenDeriv.lhs index 525f095..d15bb05 100644 --- a/compiler/typecheck/TcGenDeriv.lhs +++ b/compiler/typecheck/TcGenDeriv.lhs @@ -1684,13 +1684,13 @@ genAuxBind loc (GenCon2Tag tycon) nlHsLit (HsIntPrim (toInteger ((dataConTag con) - fIRST_TAG)))) genAuxBind loc (GenTag2Con tycon) - = ASSERT( null (tyConTyVars tycon) ) - (mk_FunBind loc rdr_name + = (mk_FunBind loc rdr_name [([nlConVarPat intDataCon_RDR [a_RDR]], nlHsApp (nlHsVar tagToEnum_RDR) a_Expr)], L loc (TypeSig (L loc rdr_name) (L loc sig_ty))) where - sig_ty = HsCoreTy $ intTy `mkFunTy` mkParentType tycon + sig_ty = HsCoreTy $ mkForAllTys (tyConTyVars tycon) $ + intTy `mkFunTy` mkParentType tycon rdr_name = tag2con_RDR tycon -- 1.7.10.4