From 081537e339fbd772b4eb736ee7cb24ea3dfc6060 Mon Sep 17 00:00:00 2001 From: Roman Leshchinskiy Date: Mon, 15 Feb 2010 02:53:08 +0000 Subject: [PATCH] Spot ForceSpecConstr arguments in polymorphic loops --- compiler/specialise/SpecConstr.lhs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/specialise/SpecConstr.lhs b/compiler/specialise/SpecConstr.lhs index b839412..2427075 100644 --- a/compiler/specialise/SpecConstr.lhs +++ b/compiler/specialise/SpecConstr.lhs @@ -671,7 +671,7 @@ ignoreAltCon env (LitAlt lit) = ignoreType env (literalType lit) ignoreAltCon _ DEFAULT = True forceSpecBndr :: ScEnv -> Var -> Bool -forceSpecBndr env var = forceSpecFunTy env . varType $ var +forceSpecBndr env var = forceSpecFunTy env . snd . splitForAllTys . varType $ var forceSpecFunTy :: ScEnv -> Type -> Bool forceSpecFunTy env = any (forceSpecArgTy env) . fst . splitFunTys -- 1.7.10.4