diff options
| -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 |
