From: Manuel M T Chakravarty Date: Tue, 19 Sep 2006 01:12:43 +0000 (+0000) Subject: Adapt new SpecConstr functionality to GADT datacons X-Git-Tag: After_FC_branch_merge~100 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=6be927feb4c910a59990b5d2c32e0c41c3a2a95b Adapt new SpecConstr functionality to GADT datacons --- diff --git a/compiler/specialise/SpecConstr.lhs b/compiler/specialise/SpecConstr.lhs index 46cea9b..1ee5935 100644 --- a/compiler/specialise/SpecConstr.lhs +++ b/compiler/specialise/SpecConstr.lhs @@ -18,7 +18,8 @@ import CoreSubst ( Subst, mkSubst, substExpr ) import CoreTidy ( tidyRules ) import PprCore ( pprRules ) import WwLib ( mkWorkerArgs ) -import DataCon ( dataConRepArity, dataConTyVars ) +import DataCon ( dataConRepArity, isVanillaDataCon, + dataConUnivTyVars ) import Type ( Type, tyConAppArgs, tyVarsOfTypes ) import Rules ( matchN ) import Id ( Id, idName, idType, isDataConWorkId_maybe, @@ -592,7 +593,7 @@ conArgOccs (ScrutOcc fm) (DataAlt dc) | Just pat_arg_occs <- lookupUFM fm dc = tyvar_unks ++ pat_arg_occs where - tyvar_unks | isVanillaDataCon dc = [UnkOcc | tv <- dataConTyVars dc] + tyvar_unks | isVanillaDataCon dc = [UnkOcc | tv <- dataConUnivTyVars dc] | otherwise = [] conArgOccs other con = repeat UnkOcc