X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Frename%2FRnBinds.lhs;h=ad2a6b370e95c25c59f3fb1ff1a023e005f79d19;hb=680f11d3f1ad9065c4969ed5d9db857cc245d778;hp=59c5959f942731334018d0efc456e4a1921c9588;hpb=1dfd77341ec56e9d61f2d78cb7ff2b9900385dac;p=ghc-hetmet.git diff --git a/compiler/rename/RnBinds.lhs b/compiler/rename/RnBinds.lhs index 59c5959..ad2a6b3 100644 --- a/compiler/rename/RnBinds.lhs +++ b/compiler/rename/RnBinds.lhs @@ -379,8 +379,8 @@ rnBind sig_fn trim (L loc (PatBind { pat_lhs = pat, pat_rhs = grhss })) ; let bndrs = collectPatBinders pat' - ; (grhss', fvs) <- bindSigTyVarsFV (concatMap sig_fn bndrs) $ - rnGRHSs PatBindRhs grhss + ; (grhss', fvs) <- rnGRHSs PatBindRhs grhss + -- No scoped type variables for pattern bindings ; return (L loc (PatBind { pat_lhs = pat', pat_rhs = grhss', pat_rhs_ty = placeHolderType, bind_fvs = trim fvs }), @@ -392,12 +392,13 @@ rnBind sig_fn trim (L loc (FunBind { fun_id = name, fun_infix = inf, fun_matches ; let plain_name = unLoc new_name ; (matches', fvs) <- bindSigTyVarsFV (sig_fn plain_name) $ + -- bindSigTyVars tests for Opt_ScopedTyVars rnMatchGroup (FunRhs plain_name) matches ; checkPrecMatch inf plain_name matches' ; return (L loc (FunBind { fun_id = new_name, fun_infix = inf, fun_matches = matches', - bind_fvs = trim fvs, fun_co_fn = idCoercion }), + bind_fvs = trim fvs, fun_co_fn = idHsWrapper, fun_tick = Nothing }), [plain_name], fvs) } \end{code} @@ -445,7 +446,7 @@ rnMethodBind cls sig_fn gen_tyvars (L loc (FunBind { fun_id = name, fun_infix = in checkPrecMatch inf plain_name new_group `thenM_` returnM (unitBag (L loc (FunBind { fun_id = sel_name, fun_infix = inf, fun_matches = new_group, - bind_fvs = fvs, fun_co_fn = idCoercion })), + bind_fvs = fvs, fun_co_fn = idHsWrapper })), fvs `addOneFV` plain_name) -- The 'fvs' field isn't used for method binds where @@ -468,6 +469,7 @@ rnMethodBind cls sig_fn gen_tyvars mbind@(L loc (PatBind other_pat _ _ _)) \end{code} + %************************************************************************ %* * \subsubsection[dep-Sigs]{Signatures (and user-pragmas for values)}