diff options
| author | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2006-09-19 01:12:43 +0000 |
|---|---|---|
| committer | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2006-09-19 01:12:43 +0000 |
| commit | 6be927feb4c910a59990b5d2c32e0c41c3a2a95b (patch) | |
| tree | 86f9a888b04539d56638429b4e81433cfd9a603d /compiler | |
| parent | 0cfba505ee10cf12737077449a6cb4d98e56263c (diff) | |
| download | haskell-6be927feb4c910a59990b5d2c32e0c41c3a2a95b.tar.gz | |
Adapt new SpecConstr functionality to GADT datacons
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/specialise/SpecConstr.lhs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/specialise/SpecConstr.lhs b/compiler/specialise/SpecConstr.lhs index 46cea9bc6c..1ee5935fa0 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 |
