Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/c5d0bad394d6939fc1aea0c384e45faed2f40092

>---------------------------------------------------------------

commit c5d0bad394d6939fc1aea0c384e45faed2f40092
Author: Simon Peyton Jones <simo...@microsoft.com>
Date:   Thu Jun 30 17:47:36 2011 +0100

    Don't zonk skolems; eliminates a debug WARNING

>---------------------------------------------------------------

 compiler/typecheck/TcRules.lhs |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/compiler/typecheck/TcRules.lhs b/compiler/typecheck/TcRules.lhs
index 3925c6d..8676555 100644
--- a/compiler/typecheck/TcRules.lhs
+++ b/compiler/typecheck/TcRules.lhs
@@ -90,11 +90,14 @@ tcRule (HsRule name act hs_bndrs lhs fv_lhs rhs fv_rhs)
             -- c.f. TcSimplify.simplifyInfer
        ; zonked_forall_tvs <- zonkTcTyVarsAndFV forall_tvs
        ; gbl_tvs           <- tcGetGlobalTyVars             -- Already zonked
-       ; qtvs <- zonkQuantifiedTyVars $
-                 varSetElems (zonked_forall_tvs `minusVarSet` gbl_tvs)
+       ; let extra_bound_tvs = zonked_forall_tvs            
+                                      `minusVarSet` gbl_tvs
+                                      `delVarSetList` tv_bndrs
+       ; qtvs <- zonkQuantifiedTyVars (varSetElems extra_bound_tvs)
 
+                     -- The tv_bndrs are already skolems, so no need to zonk 
them
        ; return (HsRule name act
-                   (map (RuleBndr . noLoc) (qtvs ++ tpl_ids))  -- yuk
+                   (map (RuleBndr . noLoc) (tv_bndrs ++ qtvs ++ tpl_ids))      
-- yuk
                    (mkHsDictLet lhs_ev_binds lhs') fv_lhs
                    (mkHsDictLet rhs_ev_binds rhs') fv_rhs) }
 



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to