[commit: ghc] wip/T8584: moar cleanup (45622b3)

git at git.haskell.org git at git.haskell.org
Wed Nov 5 14:10:57 UTC 2014


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/T8584
Link       : http://ghc.haskell.org/trac/ghc/changeset/45622b352e27837fd3742a4878dda6a144354475/ghc

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

commit 45622b352e27837fd3742a4878dda6a144354475
Author: Dr. ERDI Gergo <gergo at erdi.hu>
Date:   Wed Nov 5 21:51:07 2014 +0800

    moar cleanup


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

45622b352e27837fd3742a4878dda6a144354475
 compiler/typecheck/TcPatSyn.lhs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/compiler/typecheck/TcPatSyn.lhs b/compiler/typecheck/TcPatSyn.lhs
index 3704265..2e93e7c 100644
--- a/compiler/typecheck/TcPatSyn.lhs
+++ b/compiler/typecheck/TcPatSyn.lhs
@@ -79,12 +79,13 @@ tcInferPatSynDecl PSB{ psb_id = lname@(L _ name), psb_args = details,
        ; args       <- mapM zonkId args
        ; let arg_w_wraps = zip args $ repeat idHsWrapper
 
-       ; let theta = prov_theta ++ req_theta
        ; (matcher_id, matcher_bind) <- tcPatSynMatcher lname lpat'
                                          (univ_tvs, req_theta, req_ev_binds, req_dicts)
                                          (ex_tvs, prov_theta, emptyTcEvBinds, prov_dicts)
                                          arg_w_wraps
                                          pat_ty
+
+       ; let theta = prov_theta ++ req_theta
        ; wrapper_id <- if isBidirectional dir
                        then fmap Just $ mkPatSynWrapperId lname (map varType args) univ_tvs ex_tvs theta pat_ty
                        else return Nothing
@@ -155,6 +156,7 @@ tcCheckPatSynDecl PSB{ psb_id = lname@(L loc name), psb_args = details,
                                          arg_w_wraps
                                          pat_ty
 
+       ; let theta = prov_theta ++ req_theta
        ; wrapper_id <- if isBidirectional dir
                        then fmap Just $ mkPatSynWrapperId lname arg_tys univ_tvs ex_tvs theta pat_ty
                        else return Nothing
@@ -168,7 +170,6 @@ tcCheckPatSynDecl PSB{ psb_id = lname@(L loc name), psb_args = details,
                         matcher_id wrapper_id
        ; return (patSyn, matcher_bind) }
   where
-    theta = prov_theta ++ req_theta
     (arg_tys, pat_ty) = tcSplitFunTys tau
 \end{code}
 



More information about the ghc-commits mailing list